这实际上是这篇文章的后续问题:Postfix 别名和重复电子邮件,如何修复?
(我的声誉不足以对该帖子发表评论。)
我已经按照第一个答案的建议设置了我的 Postfix + Dovecot - 使用一个可以丢弃重复项的筛选脚本。在大多数情况下,它运行良好。当收件人超出配额时,它会运行异常。
这是第一次投递尝试的日志。正如人们所料,它因 tempfail Quota beyond 而失败:
AF4481700032: to=<?@?>, relay=?[private/dovecot-lmtp], delay=0.05, delays=0.05/0/0/0, dsn=4.2.2, status=deferred (host ?[private/dovecot-lmtp] said: 452 4.2.2 <?@?> Quota exceeded (mailbox for user is full) (in reply to end of DATA command))
大约 10 分钟后,再次尝试:
dovecot: lmtp(?)<1742912><+EYHBXjidmBAmBoAcAY70w>: sieve: msgid=<489132c2-7b77-cd2f-ce60-439f6558ddcf@?>: marked message to be discarded if not explicitly delivered (discard action)
postfix/lmtp[1742691]: AF4481700032: to=<?@?>, relay=?[private/dovecot-lmtp], delay=431, delays=431/0/0/0, dsn=2.0.0, status=sent (250 2.0.0 <?@?> +EYHBXjidmBAmBoAcAY70w Saved)
postfix/qmgr[421343]: AF4481700032: removed
在我看来,尽管传送被拒绝,但 Dovecot 的筛选器在第一次传送尝试期间记录了消息 ID。
在第二次投递尝试期间,Dovecot 的筛选器显然认为它看到的是重复的,并丢弃了该邮件。
对于这种情况有没有什么解决方法?