Outlook で送信できないメールアドレス


携帯電話のメールアドレスの中で、相手が受信拒否などをしていないにもかかわらず、Outlook から送信するとエラーになるというものが存在します。それは、メールアドレスの中で "." が連続していたり、"@" の直前に "." があったりするアドレスです。
このようなメールアドレスに対して Outlook から送信を行うと、実際には送信動作を行わず、「無効な受信者」として配信不能通知が返ってしまいます。

Outlook が「無効な受信者」として処理する理由は、そのようなアドレスが RFC 2821 という規約に違反しているからです。
RFC 2821 とは、インターネット上のメールの送信に使われる Simple Mail Transfer Protocol (SMTP) についての取り決めが文書化されているものです。この規約に従わなかったからといって罰則などがあるわけではありませんが、従わないようなメールデータを送信したり、手順を無視したりするとさまざまな問題が起こります。
そのため、Outlook は RFC 2821 の規約に従った動作を行うようになっています。

その RFC 2821 では、メールアドレスのフォーマットが以下の通り定められています。

4.1.2 Command Argument Syntax
The syntax of the argument fields of the above commands (using the
syntax specified in [8] where applicable) is given below. Some of
the productions given below are used only in conjunction with source
routes as described in appendix C. Terminals not defined in this
document, such as ALPHA, DIGIT, SP, CR, LF, CRLF, are as defined in
the "core" syntax [8 (section 6)] or in the message format syntax
[32].
<省略>
Mailbox = Local-part "@" Domain
Local-part = Dot-string / Quoted-string
; MAY be case-sensitive
Dot-string = Atom *("." Atom)
Atom = 1*atext

上記の Mailbox が SMTP でのメールアドレスに該当します。そして、上記の説明を解釈すると以下のようなります。
MailboxLocal-part@Domain という形で構成される。
Local-partDot-string または Quoted-string で構成される。(大文字小文字は区別されてもよい)
Dot-stringAtom と 0 個以上の "." Atom から構成される。
Atom は 1 個以上の atext から構成される。

そして、atextRFC 2822 で以下のように定義されています。

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

では、たとえば、aaa..bbb@example.com というアドレスはどうでしょうか?
Local-part は "aaa..bbb" になりますが、atext には "." が含まれないため、aaa および bbb がそれぞれ Atom となります。
つまり、 Atom "." "." Atom というフォーマットになっているわけですが、Dot-string では Atom の次には "." Atom というフォーマットの文字列が来ることを想定しています。
"." Atom は一つのピリオドに Atom がセットで続くという意味であり、"." が連続するとこのフォーマットから外れた "." が存在することになります。
したがって、"." が連続する Local-part はこの規約に違反しているというわけです。(もし、Dot-string = Atom *( 1*"." Atom) だったら OK だったのですが。)
同様に、aaa.@example.com というアドレスも、"." の後に Atom がないため規約違反です。

このような理由で RFC 違反のアドレスとして送信ができないのですが、絶対に送信ができないのでしょうか?

実は、上記の Mailbox の定義にはまだ続きがあります。Local-part の定義では Dot-string または Quoted-string で構成されるとあり、Quoted-string は以下の通り定義されています。

Quoted-string = DQUOTE *qcontent DQUOTE

DQUOTE というのは " (ダブル クォーテーション) であり、qcontent は RFC 2822 で以下の通り定義されています。

qtext = NO-WS-CTL / ; Non white space controls
%d33 / ; The rest of the US-ASCII
%d35-91 / ; characters not including "\"
%d93-126 ; or the quote character
qcontent = qtext / quoted-pair

これは、改行コードなどの特別なコントロール コードと \、および " を除くほとんどの ASCII キャラクタを使用できるという意味です。
よって、以下のようなアドレスは RFC に適合していることになります。

"aaa..bbb"@example.com

そして、Outlook でもこのアドレスはエラーにならずに送信できるのです。
"." が連続するアドレスよりこちらの方が問題がありそうに見えますが、受信者のサーバーが " を削除する処理をしていれば正しく受信ができます。
実際、私が以前試した際には、" で囲むことで送信できました。すべてのキャリアでこの方法が使えるかどうかはわかりませんが、試してみる価値はあるでしょう。

Outlook で送信できないメールアドレス」への14件のフィードバック

  1. 携帯へのメール送信が出来ず困っていましたが
    ””で囲む事で回避できましたありがとうございます。
    ちなみにキャリアはdocomoです

  2. 真逆の事で恐縮です。
    社内システムで
    「文章ID(半角英数+半角英数3文字)」+
    を宛先にしたメールを送信するマクロを開発しています。

    VBA上からは、
    AAAA
    と送信先を指定できるのですが、

    送信済みメールをテキストファイルに変換すると
    ”’AAAA'” と
    外側をダブルクオーテーション、
    内側をシングルクオーテーションで
    くくられてしまいます。

    旧システムは
    AAAA
    で運用されており、
    受信側のプログラムの変更は許可されません。

    ダブル・シングルクオーテーションを省くことは
    不可能なのでしょうか?

  3. Outlook2011はドットが1つだけの場合(RFCに違反していない)場合でも送れません。
    xxx.xxx@xxxのようなアドレスでも送れません。

  4. DQUOTE、ダブルクォーテーションくくりでのメールアドレス送信、できました!ずっと悩んでいたので助かりました。もっと早くこちらに気づけばよかったです。

  5. 今まで問題なく遅れていたメールが送れなくなり転送で送ると送信出来ました。これはどんなことでしょうか?

    • 問題なくおくれていたということですが、メールは送信のたびに宛先を指定することになります。
      そのため、たとえばあるタイミングでたまたま問題のある宛先を設定してしまった場合、そのメールは送信できないということになります。

  6. こちらの情報がとても参考になりました。
    ..や.@が含まれるdocomoとezwebあてのアドレスを自動で” “でくくるようなVBAは組めないものでしょうか。

  7. @の前に”.”の次に”..”があったので、大幅に” ” でくくってやってみたけれども、できませんでした。
    やはり、docomoでした。
    残念!

  8. 返信は常に可能ですが、新規のアドレスはすべて「outolookでは認識されません」という表示になって どれも送信できません。解決方法は?

  9. 新アドレスが正しくても宛先に記入しれも送信を拒否される。送信した後、受信拒否されるのではない。送信を受け付けない。
    受信したMLADを登録するのではなく、送信者が宛先に記入した新アド(アド帳にない)が送信拒否される。登録も拒否される。

コメントを残す