root@[127.1]
構文的に有効な電子メールアドレスですか?
なんで?なぜだめですか?
RFC5322のセクション3.4.1を確認する必要があります。
この仕様は、Request For Comments(RFC)2822の改訂版であり、Request For Comments(RFC)822「ARPAインターネットテキストメッセージの形式の標準」に取って代わり、現在の慣行を反映するように更新され、指定された増分変更が組み込まれています。他のRFCで。
私はあなたのメールアドレスをhttp://isemail.info/で実行し、次の情報を提供しました。
一般的な結果は次のとおりです。アドレスはRFC5322の広範な定義に従ってのみ有効です。それ以外の場合は無効です。
具体的な診断は次のとおりです。ドメインリテラルは有効なRFC5321アドレスリテラルではありません
電子メールRFCからの関連する一節は次のとおりです。
domain-literal = [CFWS] "[" *([FWS] dtext)[FWS] "]" [CFWS]
(RFC 5322セクション3.4.1)
ヘッダー内のアドレス(RFC 5322)とエンベロープアドレス(RFC 5321)のどちらを意味するかによって異なります。後者の場合、<>、<>の間のすべて(つまりソースルート)、またはメールボックスのみを含めるかどうかによって異なります。
これはRFC5322に従って有効ですが、RFC 5322では、コメントなどの楽しいことがたくさんあります。とユニコーン!とケーキ!とポニー!。Perlの「正規表現」を使用してそれらを解析することはほぼ可能です:Mail :: RFC822::Address。
RFC 5321セクション4.1.3によると、構文的に無効です。文法では、1.2.3.4形式のアドレスリテラル、または「standard-tag:」形式のプレフィックスを持つアドレスリテラルのみが許可されるためです(例)。私はあなたが「メールボックス」を意味していると仮定しました。つまり、<>の間のすべてですが、ソースルートは含まれていません。[IPv6:::1]
SMTPサーバーがそれを受け入れない場合、電子メールアドレスはあまり良くないので、後者の定義を使用します。(はい、これは少し恐ろしい定義ですが、インターネットがSMTPからすぐになくなるとは思いません。)
(さらに、RFC 5336、別名「UTF8SMTP」があります。これを使用している人は誰も知りません。)
いいえ、RFC2822ではIPアドレスをドメインとして使用できますが、有効なIPアドレスを使用する必要があります。
あなたの例はですroot@[127.0.0.1]
。
タグで言及しているRFC-822によると、そうです、文法で許可されているため、構文的に有効です。関連するルールは次のとおりです。
addr-spec = local-part "@" domain ; global address
domain = sub-domain *("." sub-domain)
sub-domain = domain-ref / domain-literal
domain-literal = "[" *(dtext / quoted-pair) "]"
dtext = <any CHAR excluding "[", ; => may be folded
"]", "\" & CR, & including
linear-white-space>
いいえ、
アドレスをローカル(@記号の前)とドメイン(@記号の後)の2つのセクションに分割すると、電子メールの有効性にはいくつかの広い定義があります。ローカル部分は、次の特殊文字「。」、「-」、および「_」を含む英数字である可能性があります。ローカル部分には、連続するピリオドを含めることはできません。
ドメイン部分は、中括弧で囲まれたホスト名またはIPアドレスの定義を満たす必要があります。
この例は、有効なホスト名(foo.bar)の要件を満たしていないため、中かっこで囲まれた有効なIPアドレスが含まれていないため、有効な電子メールアドレスではありません。
電子メールアドレスを検証する次の電子メール検証コード(IPアドレス検証ビットを除く)を確認してください。これは、IPアドレスドメイン名でも機能するように簡単に後付けできます。