現象
2016以降のOutlookでメールを送信しようとすると以下のエラーが発生する現象に遭遇。
555 5.5.4 unsupported option SMTPUTF8
ちなみに、現象は特定のメールアドレスのみで発生し、他のアドレスでは発生しませんでした。
原因
今回の原因はメールアドレスに全角文字が混じっていたことでした。例えばhoge.hoge@example.com
のような形(ここでは最初のh
のみ全角文字になっている)ですね。
Outlookの場合、特に宛先やCC、アドレス帳といった本来ASCII文字しか来ないであろう欄に入力された文字列は文字の種類によっては全角文字でも半角っぽい表示になっており、メモ帳などの他のアプリケーションにメールアドレスをコピペしないと判別が付きませんでした。
ちなみにどの文字が、というのはシステムフォントやアプリケーションのバージョン(Outlook)等によって状況が異なるようなので、一概にどの文字とは言えなさそうです。
調査
- outlook2016でメール送信した際、エラーが出ます。が、メールは送信できているようです – マイクロソフト コミュニティ
- 鳴神白露の雑記帳。は、更新頻度低下中です。メールエラー 555
- Windows 10 Insider Preview Build 15058のインストール | 大道無門(パソコンとインターネット) – 楽天ブログ
555 Unsupported option SMTPUTF8
等で検索すると上述のような記事がヒット。
最初は「原因」で既述したようにメールアドレスが半角っぽかったので宛名の方(ほげほげ <hoge.hoge@example.com>;
の<>
の外側部分)に原因があるのではないかと想定して、あれこれ試しましたが変化なし。
果てに宛名なしでメールアドレスだけで送信しようとして現象が変化しなかったため、ようやく宛名ではなくメールアドレスの方だと気付きました。
試しにアドレスを見ながら手打ち(コピペ厳禁)したところ正常に送信できました。
そこで、当初のエラーになっているメールの宛先からメールアドレスをコピーしてメモ帳に貼り付けたところ……明らかに文字のサイズが違う。
ということで、ここでようやくメールアドレスに全角文字が混じっていることに気付きました。
余談
- RFC 6531 – SMTP Extension for Internationalized Email
- RFC 6532 – Internationalized Email Headers
- RFC 6533 – Internationalized Delivery Status and Disposition Notifications
以上のRFCで「Internationalized Email (国際化電子メール)」が定義され、UTF8エンコーディングを使用してUnicode文字をメールヘッダに含めること、それをSMTPで転送することが許可されたようです。
ここでSMTPUTF8
拡張が出てくるわけですね。
Postfix
- Postfix stable release 3.0.0
- Postfix 3系の SMTPUTF8 を試してみた | SIOS Tech. Lab
- Postfix 3.0 の主な変更 – @tmtms のメモ
一例としてPostfixは3.x系でこの仕様に対応し、メールアドレスのドメイン部もUTF-8が使用できるようになったとのことです。
Postfixのバージョン確認はサーバで以下のコマンドを叩くと表示されます。
# postconf | grep mail_version
mail_version = x.x.x
## (略)
参考
Outlookのエラー対処
- outlook2016でメール送信した際、エラーが出ます。が、メールは送信できているようです – マイクロソフト コミュニティ
- 鳴神白露の雑記帳。は、更新頻度低下中です。メールエラー 555
- Windows 10 Insider Preview Build 15058のインストール | 大道無門(パソコンとインターネット) – 楽天ブログ
SMTPUTF8, RFC
- RFC 6531 – SMTP Extension for Internationalized Email
- RFC 6532 – Internationalized Email Headers
- RFC 6533 – Internationalized Delivery Status and Disposition Notifications
PostfixのSMTPUTF8対応について
- Postfix stable release 3.0.0
- Postfix 3系の SMTPUTF8 を試してみた | SIOS Tech. Lab
- Postfix 3.0 の主な変更 – @tmtms のメモ
Postfixのバージョン確認
さらに余談
確かに、今回の件を考え始めるとメールアドレスのバリデーションが面倒なことになりそう……。