有効な電子メール アドレスの最大長は? それは何らかの基準で定義されていますか?
8 に答える
電子メール アドレスは254文字を超えてはなりません。
これは、提出された正誤表に従って IETF によって承認されました。特定の住所の完全な診断は、オンラインで入手できます。RFC 3696 の元のバージョンでは最大長として 320 が記述されていましたが、パスが次のように定義されているため、John Klensin はその後、誤った値を受け入れました。
Path = "<" [ A-d-l ":" ] Mailbox ">"
そのため、Mailbox 要素 (つまり、電子メール アドレス) は山かっこで囲まれてパスを形成します。パスの長さを 256 文字以下に制限するために、最大長は 254 文字です。
RFC 5321で指定されている最大長は次のとおりです。
reverse-path または forward-path の最大合計長は 256 文字です。
RFC 3696 はここで修正されました。
特にRFC 3696 に対する正誤表に注意する必要があります。標準的な例のうち 3 つは、実際には無効なアドレスです。
http://www.dominicsayers.com/isemailで見つけることができる数百のテスト アドレスを照合しました。
320
そして、セグメントは次のようになります
{64}@{255}
64 + 1 + 255 = 320
メールを検証している場合は、これもお読みください: I Knew How To Validate An Email Address until I Read The RFC
ユーザー
ユーザー名の最大合計長は 64 文字です。
ドメイン
ドメイン部分(「@」以降)は最大255文字
ただし、RFC 2821の読み取りには制限があります。
リバース パスまたはフォワード パスの最大合計長は、句読点と要素の区切り文字を含めて 256 文字です。通常、これらのフィールドに収まらないアドレスは役に立たないため、アドレスの長さの上限は通常 256 と見なされますが、パスは次のように定義されます。[ Adl ":" ] Mailbox ">" forward-path には、メールボックスに加えて、少なくとも一対の山括弧が含まれます。これにより、電子メール アドレスは 254 文字に制限されます。
悲しいことに、他のすべての答えは間違っています。それらのほとんどは RFC 2821 以降を引用しており、電子メール アドレスさえ定義していません。それが行うことは、パスを定義することです。電子メール アドレスは RFC 2822 (またはそれ以降) で定義されており、さらに長くなる場合があります。有効なパスではない有効なアドレスの例は次のとおりです。
(Firstname Lastname) user@domain
Firstname Lastname <user@domain>
これらは両方とも同じメールボックスですが、異なる方法で記述されています。そのため、電子メール アドレスをデータベースに保存することが目標の場合、254、256、または 320 オクテットという制限は低すぎる可能性がありますが、実際にはこれが問題になることはめったにありません。