Postfix

優雅地處理嚴重折疊的長 Return-Path 標頭

  • November 19, 2020

我的 POP3 提供商向我發送帶有損壞Return-Path標題的電子郵件時遇到了問題。當它很長時,它會被錯誤地折疊成多行,在電子郵件地址的中間,如下所示:

Return-Path: <bounce-md_30050491.5f06fc4d.v1-e20857b41e04493380b808e01cb6b51
e@mailtracking.gitter.im>

因此,Postfix 返回錯誤,我從 Fetchmail 收到退回郵件:

fetchmail: SMTP error: 501 5.1.7 Bad sender address syntax

我已經閱讀了 Fetchmail 的-Z選項,但我不想丟棄這些郵件,它們很重要而不是垃圾郵件。

是否有可能讓 Postfix 優雅地處理這種特殊情況並且不返回錯誤消息?或者也許有人知道這個問題的更好解決方案?

fetchmail:使用procmail/maildrop直接投遞郵箱/maildir

您可以fetchamil使用procmail(或maildrop) 將消息直接傳遞到郵箱(郵箱文件或 maildir) ,而無需通過 SMTP 發送。您的 procmail 腳本甚至可以展開Return-Path:

mda選項man fetchmail

我使用了類似的解決方案和自定義每個電子郵件帳戶的 procmail 腳本。


~/.fetchmailrc

poll pop.provider.net proto pop3
 user "jsmith" with pass "secret1"
 mda /usr/bin/procmail -m .procmailrc-provider.net

~.procmailrc-provider.net

########
# Debugging settings
########
# log all dignostic info to ~/procmail.log
LOGFILE=procmail.log
# log abstracts of delivered messages
# Subject:`,`From:`, size, final destination 
LOGABSTRACT=all
# Turn on extended diagnostic
VERBOSE=on
########

# deliver everttyting to maildir (tailing /) located in directory ~/.maildir 

:0
.maildir/

調試:

fetchamil:(-v甚至 -v -v)命令行選項

procmail:LOFILELOGABSTRACTprocmailrc 文件中的設置

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