9

RFC 5321、5322、および6531には、電子メール アドレスを検証するための複雑な規則があります彼ら:

  • メールアドレス内にコメントを作成できるようにする
  • シンボルに対して複雑な制限規則を提供します。"() ,:;<>@[\]
  • localpartpostmasterは大文字と小文字を区別しないが、その他はすべて大文字と小文字を区別するものとして扱う
  • メールアドレスのグループを許可する

これらの複雑なルールのおかげで、特定の文字列が構文的に有効な電子メール アドレスであるかどうかを RFC に従ってテストすることは、正規表現だけでは実行できません。

どうやら、これらのルールの多くは、主要な電子メール プロバイダーによってサポートされていません。

歴史的に言えば、電子メール アドレスに関する非常に複雑なルールを作成する動機は何でしたか? 電子メールの起源に関するウィキペディアの記事は、 1980 年代初頭の最新の標準が、特定の標準と構文を使用してすべての従来の電子メールっぽいシステムをカバーすることを意図していたことを暗示しているように思われます。

ただし、標準の実装者、電子メール プロバイダー、および電子メールのエンドユーザーはすべて、機能するシステムに既得権を持っています。これは、ルールが難解すぎず、有限数のテストに合格するソフトウェアに簡単にキャストできる場合に達成しやすくなります。では、なぜ今日、誰もそれを十分に活用していない複雑な標準を持っているのでしょうか?

繰り返しますが、歴史的に言えば、XML は大部分が JSON に取って代わられました。その成功は、その文法の単純さに部分的に起因する可能性があります。

4

1 に答える 1

1

提供された電子メール アドレスが本物かどうかを確認する唯一の確実な方法は、そのアドレスに電子メールを送信し、ユーザーがそれを受信するかどうかを確認することです。アドレスに対して実行できる便利なチェックの 1 つは、電子メール アドレスが構文的に有効であることをチェックすることです。それがこのモジュールの機能です。

メールを送信するシステムは、すべての有効なアドレスの送信メールを処理できなければなりません。関連する標準に反して、一部の欠陥のあるシステムは、特定の正当なアドレスを無効として扱い、これらのアドレスへのメールを処理できません。たとえば、Hotmail は、次の標準で許容される文字を含むアドレスへのメールの送信を拒否します: !#$%*/?^`{|}~

標準のレベルが異なるだけで、一部は非常に厳格であり、したがって複雑です。

于 2012-03-30T21:21:11.127 に答える