この記事について
| 環境 | 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
