メールが送れない(SMTPUTF8 is required, but was not offered by host)

この記事について

環境postfix 3系の自前メールサーバー
目的yahooメール宛てのメールが届かない問題を解消する
結果main.cf に smtputf8_enable = no を追記して解決

つまずきポイント要約

  • postfix 3系はSMTPUTF8拡張がデフォルトで有効
  • 受信側(yahooメール)がSMTPUTF8非対応だと bounced になる
  • 反映は systemctl reload postfix。バージョン確認は postconf mail_version

事象

postfixからyahooメールにメールを送ったが届かない

メールログ

Oct  9 16:20:02 hyogen2024server postfix/smtp[2739]: DD56A4185A: to=<xxxxxxx@yahoo.co.jp>, relay=mx1.mail.yahoo.co.jp[202.93.77.241]:25, delay=0.1, delays=0.02/0.06/0.03/0, dsn=5.6.7, status=bounced (SMTPUTF8 is required, but was not offered by host mx1.mail.yahoo.co.jp[202.93.77.241])

原因

postfix3系では、SMTPUTF8 拡張というものがサポートされて、メールアドレスのドメインパート (@よりも後ろの部分) で UTF-8 が使用できるようになったらしい(デフォルト設定)。この機能は、MTP サーバ側・クライアント側の双方で SMTPUTF8 をサポートしている必要があるが、yahooメール側がこの機能をサポートしていないということらしい。

対処

解決策として、日本語を使用しないメールを送るか、postfixの設定ファイルであるmain.cfの最下部に以下の一文を記述して機能をオフにする必要がある

smtputf8_enable = no

設定を反映

systemctl reload postfix

ちなみにpostfixのバージョン確認は

postconf mail_version
タイトルとURLをコピーしました