質問: こんにちは。 メール送信プログラムを作って使っています。 今日、docomoのアドレスにメールを送ろうとしたところ、 Delivery to the following recipient failed permanently: name-512..@docomo.ne.jp (メールアドレスは変えていますが、アルファベット-数字という組み合わせです)。「..」はそのとおりで間違いないです。 Technical details of permanent failure: Internal parse error: Illegal envelope To: address (not valid RFC5321 syntax): name-512..@docomo.ne.jp というエラーになりました。 念のため、単純にGmailにログインして送ってみても同様でした。 おなじメールからは、以前にはそのメールアドレスに送っていて届いていました。 2015年以降、送れなくなったようです。 RFC5321で、メールアドレスが変わったのかと思いますが、どのようにすればプログラムからメールを送信できるようになるのでしょう? http://srgia.com/docs/rfc5321j.html には目を通したのですが、よくわかりませんでした。 たとえば、エンコードするとかでなんとかなりませんか?
回答: 連続したピリオドや末尾のピリオドがメールアドレスのローカル部分に使えないのは、ずっと昔の電子メール誕生の時からです。最近変わったわけではないです。 docomoやauなどでは、そういう不正なメールアドレスが取得できてしまっていたのですが、不正なメールアドレスなので、RFCに従ったメールシステムからはどうやっても送りようが無いです。 数年前に変わったのは、そういう不正なメールアドレスがdocomoなどでも新規には作れなくなったと言うことです。新規に作れなくなっただけで、昔から不正メールアドレスを使っている人はそのまま。 ユーザー登録の仕組みの中でメールアドレスを登録させるなら、不正なアドレスを登録拒否するようにして、メールアドレス変更を促すのが良いです。