Postfix 投遞問題,status=bounced(jeff@example.com 的郵件轉發循環),這是解決方案嗎?
我想我已經診斷出我的 Postfix 郵件伺服器存在問題,現在我只需要幫助來實施修復。
我和其他 11 個人是體育網站的“聯盟會員”,當有人在該網站上發帖時,它會向所有會員發送通知電子郵件。我已經有 2 年多沒有收到這些電子郵件了,所以我決定調查一下,這就是我發現的。
我的 mail.log 中的消息是:
Mar 29 12:26:51 mymailserver postfix/pipe[12545]: 669553800406: to=<jeff@example.com>, relay=dovecot, delay=0.41, delays=0.35/0/0/0.06, dsn=5.4.6, status=bounced (mail forwarding loop for jeff@example.com)
因此,經過大量搜尋並且沒有太大成功,網上有兩個不起眼的頁面在我的上下文中提到了這種行為。
您的郵件被退回,因為它包含一個 Delivered-To: 標頭以及收件人的地址。
為了避免循環問題,您必須在 /etc/postfix/main.cf 中啟用以下語句。header_checks = regexp:/etc/postfix/header_checks 然後,在 /etc/postfix/header_checks /^Delivered-To: .*/ IGNORE 中添加以下行然後,重建雜湊表並重新載入後綴配置:
$$ snip $$
Delivered-To
因此,我暫時將我在相關網站上的電子郵件地址更改為一次性 gmail 帳戶並在網站上發布了一個文章,以便我可以看到標題,並且在我的 Postfix 有機會添加之前,它們似乎包含一個額外的標題自己,從而導致轉發循環。pastebin.com 的標題,額外的標題在第 47 行。第一個問題,您認為額外的
Delivered-To
標頭是郵件轉發循環的原因嗎?如果是這樣,上面 howtoforge.com 上的文章有修復說明,但我想知道是否有更好的方法?對我來說這似乎有點 hacky,而且似乎每個線上指南都會包含此資訊,因為它應該包含在每個安裝中。
howtoforge.com 修復在我的環境中看起來像這樣:
# vim /etc/postfix/main.cf > header_checks = regexp:/etc/postfix/header_checks # vim /etc/postfix/header_checks > /^Delivered-To:.*/ IGNORE # postmap /etc/postfix/header_checks # service postfix restart # service postfix status
如果這不是正確的解決方法,我願意接受任何和所有建議。
我已經確認上面的 howtoforge.com 程式碼可以解決我的問題。刪除文件中和
header_checks
之間的空格很重要,這與 howtoforge.com 上顯示的內容不同(上面的程式碼已修復)。:``.*
鑑於很多人可能都遵循了與我相同的 Postfix/Dovecot 設置教程,並且沒有一個包含這些設置,我想這篇文章將幫助一些人,但不是很多。很少有人會知道他們甚至有這個配置問題,因為幾乎沒有人
Delivered-To
在他們的外發郵件中包含標題。但是一些大型企業實體仍然這樣做(CBS Sports),所以我希望這對某人有所幫助。