Postfix

後綴別名和重複電子郵件 - 使用 Dovecot

  • April 26, 2021

這實際上是這篇文章的後續問題:Postfix aliases and duplicate e-mails, how to fix?

(我沒有足夠的聲譽來評論那篇文章。)

正如第一個答案所暗示的那樣,我已經設置了我的 Postfix + Dovecot - 通過使用丟棄重複項的篩子腳本。它在大多數情況下執行良好。當收件人超過配額時,它會奇怪地工作。

這是第一次傳遞嘗試的日誌。正如預期的那樣,它因 tempfail Quota 超出而失敗:

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 的篩子顯然認為它看到了重複郵件,並丟棄了郵件。

這種情況有什麼解決方法嗎?

這實際上是 Dovecot 的篩子實現中的一個錯誤。這個錯誤有一個解決方法(使用配額外掛),但是這個解決方法對 aliases 沒有幫助

引用自:https://serverfault.com/questions/1060955