Postfix

接收正文不完整的郵件

  • May 18, 2017

我有一個與遠端伺服器連接的帶有 Getmail+Sendmail+Postfix+Dovecot 的智能主機。此智能主機僅適用於一個域。Postfix 用於在此域內和外部域發送郵件。為了接收,我使用 Getmail 通過 POP3S 從遠端伺服器接收郵件,然後使用 Sendmail 轉發到我的本地使用者帳戶。

為了自動接收來自外部域的郵件,我設置了一個腳本以在 5 分鐘內執行 5 個(使用 crontab),以檢查我的遠端伺服器上的所有遠端電子郵件帳戶,以通過 Getmail 獲取新郵件。

現在,我收到了一位使用者的一些奇怪行為,他從外部域向我的智能主機域發送郵件。有時,目的地只接收已發送的部分郵件,似乎這個伺服器有時沒有得到郵件的所有數據,我能看到的唯一相關的事情是有可能觸發這個的文本格式,但不是特定類型。

在 mail.log 和 getmail 日誌中,沒有報告任何問題,一切似乎都很好。

此使用者正在使用 Outlook。

這裡有人見過這個嗎?

注意:如果您需要此伺服器的任何配置,我可以提供。

經過一些調試,我注意到這是在 Getmail 中完成的。

在 Getmail 的Charles Cazabon****的幫助下,我能夠解決這個“謎團”。

在呼叫 sendmail 時,我生成的每個 getmail RC 中似乎都缺少一些額外的參數,例如:

-F

$$ sender $$:設置信封發件人地址。這是發送問題的地址。對於 2.1 之前的 Postfix 版本,Errors-To: 消息頭會覆蓋錯誤返回地址。

以及導致某些使用者只收到一半郵件的論點:

-i:從標準輸入讀取消息時,不要處理只有 a 的行。字元作為輸入的結尾。

現在這是我在這個智能主機中使用的預設 getmail RC:

[retriever]
type = SimplePOP3SSLRetriever
server = [remote server FQDN]
port: 995
username = test@[remote server domain]
password = qwe123

[destination]
type = MDA_external
path = /usr/sbin/sendmail
arguments = ('-i','-f [local network admin user]',"-bm", "test")
unixfrom = true

[options]
delete = true
message_log = ~/.getmail/logs/getmailrc_test.log

我希望這可以幫助其他有同樣問題的人。

非常感謝查爾斯 Cazabon 的幫助!!!

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