私はメール配信に Dovecot LMTP を使用する Postfix サーバーを実行しています。これは、Sieve と相性が良いためです。
しかし、最近、件名に Unicode が含まれるメールがいくつか届きました。
このメールは、明らかに SMTPUTF8 をサポートしている Postfix によって正常に受信されますが、LMTP に到達すると受信できなくなります。
<me@myhost> (expanded from <meother@mhost>): SMTPUTF8 is required, but was not offered by host myhost[public/lmtp]
Postfix SMTPUTF8のドキュメントで読んだのですが、
SMTPUTF8 要求でメッセージが受信されると、Postfix は次の場合にのみ、メッセージを SMTPUTF8 以外の SMTP または LMTP サーバーに配信します。
メッセージ ヘッダー値に UTF-8 が含まれていません。
エンベロープ送信者アドレスにUTF-8が含まれておらず、
特定の SMTP/LMTP 配信トランザクションのエンベロープ受信者アドレスには UTF-8 が含まれていません。
注意: 同じメッセージの他の電子メール配信トランザクションの受信者には、引き続き UTF-8 が含まれる場合があります。
それ以外の場合、Postfix はその電子メール配信トランザクションの受信者を配信不能として返します。配信ステータス通知メッセージは SMTPUTF8 メッセージになります。したがって、SMTPUTF8 要求で受信される電子メールと同じ制限が適用されます。
--http://www.postfix.org/SMTPUTF8_README.html#検出
関連する部分は、「Postfix は、... [メッセージに UTF8 が含まれていない] 場合にのみ、... を非 SMTPUTF8 ... LMTP サーバーに配信します」です。
言い方は不自然ですが、Postfix は UTF8 をサポートしている場合にのみ、UTF8 メールを下流のサーバーに渡すという意味です。
UTF8 メールを受信しているため、Postfix はそれを Dovecot LMTP に配信することを拒否しています。
そこで、いくつか疑問が浮かびます。
- Dovecot LMTP は SMTPUTF8 をサポートしていますか? (サポートしていないようです: http://www.dovecot.org/list/dovecot/2013-January/thread.html#87756)
- Postfix には、これに対する「ソフト フェイル」モードがあり、それによってメールを後で配信するためにキューに入れたり、LMTP をバイパスしたり、あるいはフォールオーバーよりももっとインテリジェントな処理を実行したりできるのでしょうか?
答え1
TL;DR: 参照Summing up
!
UTF-8
行内に文字が含まれるメールも定期的に受信しますSubject:
。これまでのところ、他のヘッダー内に文字が含まれることはありません。
postfix の「ソフト フェイル」モードについては私にはわかりませんが、別の SMTP トランスポートを設定し、それを介してバウンスをフィルタリングすることで、一種のフェイルセーフ モードを実現できます。ただし、この設定は私自身ではまだ完了していません。現時点では、バウンスは期限が切れるまで配信不可としてキューに残っています。少なくとも、送信者に返送されることはありませんし、キューのスティッキー メンバーに目を光らせています。一方、次の方法が私にとってはうまく機能しているので、これ以上その道を進むのは気が進みません (tm):
UTF-8
有効な解決策は(文字のみの場合Subject:
)単に無効にする接尾辞'smtputf8_enable
この機能は現在デフォルトで「yes」に設定されています (最新の Debian を使用している場合)。main.cf に以下を追加します。
smtputf8_enable = no
あれこれいじくってもsmtputf8_autodetect_classes
結論は出なかった。
この行を含む電子メール メッセージはUTF-8
Subject:
、現在、postfix によって処理され、dovecot によって問題なく保存されています。
この解決策は、特に(すでに述べたように)少しぎこちない表現の postfix ドキュメントに関しては、直感に反するように見えるかもしれません。
dovecot のサポートに関する最新のアップデートは、SMTPUTF8
あなたが参照しているもののようです。どこか別の場所で、SMTPUTF8
dovecot は、たとえ実装されたとしても、すぐには実装されないという投稿を見たことを覚えています [引用が必要]。これが正式な声明であるかどうかはわかりません。
dovecot に関する別のコメントはSMTPUTF8
ここにあります (参照とこの SE の質問を含む):https://dovecot.org/list/dovecot/2016-November/106029.html
次の投稿と合わせて考えると、この話題は2016年末頃に行き詰まったようです。https://dovecot.org/list/dovecot/2016-September/105474.html
2022年10月現在、SMTPUTF8がdovecot LDA/LMTPですぐにサポートされる見込みはまだありません。ただし、この問題は現在dovecotバグトラッカーID「DOP-1045」で追跡されています(cf https://dovecot.org/list/dovecot/2019-April/115430.html)。
まとめ:SMTPUTF8
現在、ヘッダー以外のヘッダーでのサポートが必要ない場合はSubject:
、smtputf8_enable
postfixのmain.cfで無効化そしてそのまま幸せになりましょう。
HTH