有効なメールアドレスの長さ

1948865秒

今日はそれを見つけるために少し掘り下げなければなりませんでしたが、メールアドレスの有効な長さを知っていましたか? 実際にはパーツに分かれています… 名前@ドメイン.com。 これはによると RFC2822.

  1. 名前は1〜64文字です。
  2. ドメインは1〜255文字です。

うわー…つまり、これは有効なメールアドレスである可能性があります。


loremaipsumadolorasitaametbaconsectetueraadipiscin
gaelitanullamc @ loremaipsumadolorasitaametbaconsect
etueraadipiscingaelitcaSedaidametusautanisiavehicu
laaluctuscaPellentesqueatinciduntbadiamaidacondimn
ツマルトランバトルピサマサコンセクテトゥエラアルクバエウアチン
ciduntaliberoaaugueavestibulumaeratcaPha​​sellusatin
ciduntaturpisaduis.com

それを名刺に入れてみてください! 皮肉なことに、ほとんどの電子メール アドレス フィールドは Web 上で 100 文字に制限されています。 それは実際には無効です。 PHPを利用して適切に構築されているメールアドレスを検証したい場合は、ネットで次のスニペットを見つけました。

http://derrick.pallas.us/email-validator/#ライセンス:Academic Free License 2.1#バージョン:2006-12-01a if(!ereg( ''。 '^'。 '[-!#$%&\ '* + / 0-9 =?AZ ^ _a-z {|}〜]'。 '(\\。?[-!#$%&\' * + / 0-9 =?AZ ^ _a-z { |}〜])* '。' @ '。' [a-zA-Z](-?[a-zA-Z0-9])* '。'(\\。[a-zA-Z](- ?[a-zA-Z0-9])*)+ '。' $ '、$ email))falseを返します。 list( $local, $domain ) = split( "@", $email, 2 ); if ( strlen($local) > 64 || strlen($domain) > 255 ) は false を返します。 if ( $check && !gethostbynamel( $domain ) ) は false を返します。 真を返す; # 終わり ###### }

9のコメント

  1. 1
  2. 2

    はい、他のソリューションもRFCに準拠していないことに気づきました。 ただし、この正規表現でさえ非定型であり、標準ではないことに気づきました。 実際の正規表現(<、>、などを許可する)を読むことは、ほとんどのプロセスにとって集中的すぎることを覚えています。

    ただし、これは簡潔かつ確実に、あらゆるエンタープライズ電子メールアプリケーションに受け入れられるはずのソリューションとして書かれています。

    再度、感謝します!
    ダグ

  3. 3

    残念ながら、そのページを間違ったRFC(2821ではなく2822)にリンクしましたが、修正されました。 山かっこは、電子メールアドレスのローカル部分またはドメイン部分の一部にすることはできません。 むしろ、トークン化ポイントを表します。つまり、アドレスの一部にすることはできないため、電子メールアドレス(たとえばメールリーダー内)を囲むために使用できます。

    RFC2821は基本的に、アドレスをそのように書く必要はないと言っているので、私の関数が行わないことのXNUMXつは、引用符で囲まれた形式の電子メールアドレス(ローカル部分が二重引用符で囲まれている)について心配することです。 (このフォームは下位互換性のためのものであり、現在は悪い習慣だと思います。)

  4. 4

    実際には、RFC2821が電子メールアドレスの長さの正しい参照です。 私はそこでそれを見つけましたが、RFC2822にはありませんでした。

  5. 5

    RFC 2821には、256文字のMAILおよびRCPTコマンドのアドレスの長さに制限があります。 通常、アドレス長の上限は256と見なされます。

    —出典:RFC3696エラッタ

    また、RFC 2181には「完全なドメイン名は255オクテットに制限されている」と記載されているため、ドメイン名の長さが255文字になる可能性があるという意味で、人々(他のRFCの作成者を含む)によって繰り返し誤解されています。 しかし、RFC2181は、印刷可能な文字ではなく、ネットワーク上のDNSプロトコルレベルの表現について話している。

    ドメイン名の最大長は253文字です(末尾のドットを含む254文字、終端がnullのワイヤ上の255オクテット)。 そしてそれがBINDとDiGが実装するものです。

  6. 6
  7. 7

    申し訳ありませんが、上記のURLは壊れています…

    電子メールアドレスの潜在的なサイズを過小評価している開発者は、いくつかの問題を引き起こしました。

    http://www.eph.co.uk/resources/email-address-leng...

    あなたのメールアドレスが「jack1983@aol.com」のような小さなものなら、30文字でも寛大だと思うかもしれません。

  8. 8

どう思いますか?

このサイトはAkismetを使用して迷惑メールを減らします。 コメントの処理方法を学ぶ.