TL;DR
An email address must not exceed 254 characters.
メールアドレスの長さは254文字を超えてはならない
背景
RFC5321
メールの送信のプロトコルについてのRFC。これが定義のようなもの。
- ローカル部(@より前)の最大長は64文字
- ドメイン部(@より後)の最大長は255文字
- @を含めて、最大で320文字
RFC 5321 - Simple Mail Transfer Protocol
RFC3696
こちらは、Application Techniques for Checking and Transformation of Names
と題されているように、通信の際の「名前」についての注釈的なRFC。
- ローカル部(@より前)の最大長は64文字
- ドメイン部(@より後)の最大長は255文字
- @を含めて、最大で320文字
これだけをみれば320文字が最大になりそうだが、実は違う。
RFC 3696 - Application Techniques for Checking and Transformation of Names
RFC 2821
- reverse path、forward pathの長さは256文字を超えてはならない。(区切りと要素を分ける文字も含めて)
RFC5321などを見ればメールアドレスは320文字まで許容できそうだが、RFC2821のメール送信プロトコルの仕様からは、区切り文字も含めて256文字以内となっている。区切り文字も含めるということは、キャリッジリターンとラインフォールドも含めていうことなので、実質、メールアドレスとして許容できるのは、254文字までとなる。
RFC 2821 - Simple Mail Transfer Protocol