初めに #
今回は、Postfixを使っているときに発生する「SMTPUTF8エラー」についてご紹介します。
「エラーログに見慣れないメッセージが出たけど、これって何?」、「どう対応すればいい?」
そんな疑問をお持ちの方に向けて、エラーの発生する原因や対応方法について紹介します。
SMTPUTF8エラー #
以下はSMTPUTF8エラーが発生した際のPostfixのログの出力例となります。
status=bounced (SMTPUTF8 is required, but was not offered by host ホスト名[IPアドレス])
このエラーは、送信元サーバーがSMTPUTF8機能を要求するメールを送信したにもかかわらず、受信側サーバーがSMTPUTF8をサポートしていない場合に発生します。
SMTPUTF8エンコード
は、Postfix 3系以降のバージョンにてサポートされていますが、Postfix 2系以前のバージョンではサポートされていません。
そのため、Postfix 3系のサーバーからSMTPUTF8形式のメールをPostfix 2系のサーバーへ送信した場合、受信側で機能がサポートされていないことにより、配送失敗となり、該当のエラーログが出力されます。
対応方法 #
SMTPUTF8エラーへの主な対応方法として、以下の二つがございます。
1. Postfixのバージョンアップ #
こちらは受信側サーバーにて、Postfixを3系以上のバージョンへアップグレードすることで、SMTPUTF8に対応させる方法となります。
一般的に、グローバルに運用されている送信元サーバーの設定や仕様を受信側が制御することはできません。
そのため、自組織で管理している受信側サーバーにて対応を実施することが現実的な対応策となります。
2. 送信側でSMTPUTF8機能を無効化する #
もう一つの対応方法として、送信側サーバーにおいてSMTPUTF8機能を無効化するという選択肢があります。
Postfixの設定にて、smtputf8_enable
パラメータをno
に設定することで、SMTPUTF8機能を無効化することが可能となります。
ただし注意点として、SMTPUTF8を無効化することにより、一部のメールアドレスが配送エラーとなる場合がございます。
以下は「/etc/postfix/main.cf
」に記述する一例となります。
smtputf8_enable = no
設定後は以下のコマンドにて反映を行う事で設定の適応が実施できます。
systemctl restart postfix