メールアドレスのローカル部分で2つの期間を使用できますか?


13

サードパーティのメールゲートウェイリレーが、送信先のメールアドレス宛のメッセージの処理を拒否しています。アドレスは、firstname..lastname @ recipientdomain.comの形式です(2つのピリオドに注意してください)。これはRFCガイドラインで許可されていますか?

RFC 2822は、セクション3.4.1でこれに反対しているようです。

ローカルで解釈される文字列は、引用符付き文字列またはドットアトムです。文字列がドットアトムとして表現できる場合(つまり、テキスト文字または「。」以外の文字が含まれていない場合)、ドットアトム形式を使用する必要があり(SHOULD NOT)、引用符付き文字列形式はSHOULD NOT利用される。コメントと折りたたみ空白は、addr-specの「@」の前後に使用しないでください。

さらに、同じセクションで、これを参照します。

addr-spec =ローカル部分「@」ドメイン

ローカル部分=ドットアトム/引用符付き文字列/ obs-local-part

これは、ローカル部分のコンテンツをドットで区切ることができますが、2つの連続したドットは存在できず、ドットで開始または終了することはできないことを意味すると解釈します。そうは言っても、私はドットアトム構文に精通していないので、ここで間違えているかもしれません。

誰か確認して説明してもらえますか?

回答:


13

はい。それで合っています。引用したセクションは、引用文字列またはドットアトムでなければならないことを示しています。明らかに引用符で囲まれた文字列ではないので(囲み"がないことで明らかになります)、ドットアトムでなければなりません...

それが、ドットアトムの定義につながります。

除いてこれを見てRFC 5322(3.2.3 - 13ページ) (RFC 2822には、同様のセクションが含まれています)ヒントがある1*dot-atom-text = 1*atext *("." 1*atext)。これは事実上、ドットアトムは、ドットで区切られた1つ以上の「atext」文字のストリングで構成されていることを意味します。0個のatext文字の文字列はカウントされないため、連続する2つのドット(0文字で区切られている)または先頭または末尾のドットを含めることはできません。

RFC 5322                Internet Message Format             October 2008


   atext           =   ALPHA / DIGIT /    ; Printable US-ASCII
                       "!" / "#" /        ;  characters not including
                       "$" / "%" /        ;  specials.  Used for atoms.
                       "&" / "'" /
                       "*" / "+" /
                       "-" / "/" /
                       "=" / "?" /
                       "^" / "_" /
                       "`" / "{" /
                       "|" / "}" /
                       "~"

   atom            =   [CFWS] 1*atext [CFWS]

   dot-atom-text   =   1*atext *("." 1*atext)

   dot-atom        =   [CFWS] dot-atom-text [CFWS]

   specials        =   "(" / ")" /        ; Special characters that do
                       "<" / ">" /        ;  not appear in atext
                       "[" / "]" /
                       ":" / ";" /
                       "@" / "\" /
                       "," / "." /
                       DQUOTE

4

あなたの解釈は正しいです。ローカル部分には、ピリオドで区切られたテキストのグループを含めることができますが、複数の連続したピリオドは許可されていません。

あたりとしてRFC 5322のセクション3.4.1、あなたの質問に引用され、ドット原子は、「文字atextまたは以外の文字が含まれていない」。「atext文字に囲まれて」。したがって、定義により、ドットアトムに2つ以上の連続したピリオドを含めることはできません。

参考のために、RFC 5322のセクション3.2.3から取られたatext定義を以下に示します

atext           =       ALPHA / DIGIT / ; Any character except controls,
                        "!" / "#" /     ;  SP, and specials.
                        "$" / "%" /     ;  Used for atoms
                        "&" / "'" /
                        "*" / "+" /
                        "-" / "/" /
                        "=" / "?" /
                        "^" / "_" /
                        "`" / "{" /
                        "|" / "}" /
                        "~"

もちろん、2つのMTAが同じ方法でRFCを実施することはありません。そのため、一部のMTAは他のMTAが二重期間を受け入れないことに気付くでしょう。たとえば、Exchangeは2つのピリオドを含むアドレスへの配信を拒否しますが、私が使用する3つのメールサーバーのランダム選択のクイックテストでは、2つのピリオドがサポートされます。

RFC 5322に厳密に従って、問題のあるリレーをホストしている組織は、二重のピリオドを含むアドレスを拒否する権利の範囲内です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.