我在Postfix中为我的虚拟表有一个自定义的Postgresql后端,但有时候用户的电子邮件没有正确configuration,并且User unknown in virtual alias table错误中被User unknown in virtual alias table响应。 我希望能够将这些消息放在队列中供审阅,并可能稍后发送到正确configuration的电子邮件。 是否可以configurationPostfix将这些被拒绝的邮件发送到队列?
编辑:我发现最好的解决scheme是在main.cf使用defer_if_reject ,但是如果我只想在邮件地址没有在虚拟邮件地址表中finddefer_if_reject ,那我该怎么做呢? 是否有可能只转发这种消息到一个单独的队列,而不是通用的deferred队列?
如果您使用defer_if_reject解决scheme,那么您可以在smtpd_recipient_restriction上添加此规则
defer_if_reject reject_unlisted_recipient
欲了解更多信息,请查看官方文档
对于HOLD解决scheme,如果帐户不存在于表中,则可以searchpostgresql查询以返回值HOLD。 快速searchGoogle显示Postgre的functionWHERE NOT EXISTS ( 查看这个页面的一些例子)。 (对不起,我不熟悉Postgre :))
所以,在smtpd_recipient_restriction中定义
check_recipient_access pgsql:/path/to/pgsql/config
有关/path/to/pgsql/config ,请参阅此手册页