是否有可能在队列中保存被拒绝的消息?

我在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 ,请参阅此手册页