Debian

Postfix 投遞問題,status=bounced(jeff@example.com 的郵件轉發循環),這是解決方案嗎?

  • March 30, 2021

我想我已經診斷出我的 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)

因此,經過大量搜尋並且沒有太大成功,網上有兩個不起眼的頁面在我的上下文中提到了這種行為。

  1. postfix.nabble.com

您的郵件被退回,因為它包含一個 Delivered-To: 標頭以及收件人的地址。

  1. howtoforge.com

為了避免循環問題,您必須在 /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),所以我希望這對某人有所幫助。

引用自:https://unix.stackexchange.com/questions/642677