Smtp

sendmail 需要特別查看哪些內容才能確定遠端 MTA 是否支持 8 位 MIME 傳輸?

  • June 1, 2016

我正在解決一個間歇性問題,其中一些國際字元在通過 sendmail 後似乎格式不正確。

我最近看到了這篇描述F=7傳遞代理標誌的文章。具體來說,文章提到

從 V8.7 開始,F=7 傳遞代理標誌可用於抑制某些類型的 MIME 轉換。例如,如果“EightBitMode”選項(第 1025 頁上的“EightBitMode”)設置為p(傳遞 8)並且如果郵件在其正文中包含 8 位 MIME 數據,則此 F=7 傳遞代理標誌將強制 sendmail 使用以下 SMTP 錯誤,並以 EX_DATAERR 退出:

我的問題是:sendmail 專門尋找什麼來確定下游 MTA 是否支持 8 位 mime?作為對 a 的響應EHLO,下游伺服器正在做廣告:

250-PIPELINING
250-SIZE 200000000
250-VRFY
250-STARTTLS
250-ENHANCEDSTATUSCODES
250 8BITMIME

請注意,它是250 8BITMIME而不是250-8BITMIME(用破折號)。這是否足以讓 sendmail 認為遠端源不支持 8bitmime?

請注意,它是 250 8BITMIME 而不是 250-8BITMIME(帶有破折號)。這是否足以讓 sendmail 認為遠端源不支持 8bitmime?

不,這稱為延續,它僅表示該行是 SMTP 回复的最後一行。

通常8BITMIME應該是唯一需要表明另一端的 MTA 能夠處理 8 位消息。(這是相關 RFC6152 的外部標記。)

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