HTMLだと、
意図した形式で表示するのは面倒ですので、
本記事の元であるWordで作成したPDFを貼り付けておきます。
このPDFファイルは、自由に再配布されてもかまいません。
ただし、再配布の際には、
入手元と著者名は明らかにしてください。
なお、上のPDFファイルの内容、また本文中の記述に、
誤字や脱字、誤った内容の記述など見つかりましたら、
下に示すフォームでご連絡いただければ幸いです。
1 概要
メールアドレスに使える文字種や文字並びには決まりがあります。
RFCのRFC 5321 (Simple Mail Transfer Protocol)と、RFC 5322 (Internet Message Format)という文書があり、
メールアドレスに使用できる文字が定義されています
(読まれる必要はありません。 こういう文書があることだけを知っていただければ結構です)。
どこのプロバイダーやメールサービス業者であっても、
皆同じルールを守っていれば なにも問題はありません。
ところが、
実際にはプロバイダーやメールサービス業者によって、微妙に違っています。
これによってメールが届かなかったり、
サービス申し込みが拒否されたりすることがあります。
本書は、
メールアドレスに使われる文字種による問題を明らかにし、
サービスが受けられない事態を回避する方法をお伝えするものです。
2 メールアドレス・フォーマット
メールアドレスは、次の構文を持ちます。
ローカル部の構成はメールサーバーの仕様によりますが、
ユーザー名であることが多いです。
ドメインはホスト名(ホストに割り当てられるドメイン名)であり、
メールサーバーを特定します。
例では、
「example.comで特定されるメールサーバーに登録されている、fooというユーザー」
として扱われます。
なお、ドメインは、
規約では次に示すようにIPアドレスを直接書くこともできます。
日常使うことはありませんが、知っておいて無駄になることはありません。
ただし、
この記法は、書式エラーのアドレスとして、
受け付けてくれないメールソフトがかなりの数あります。
2.1 ローカル部に使用できる文字
ローカル部に使用できる文字は、以下のASCII文字です。
(1) 次のASCII文字をそのまま並べた形式
(2) さらに、“" "”でくくられたquoted-stringの形式であれば、
加えて次のASCII文字を使用できます。
(3) さらに、quoted-stringの中では、“¥”を前につけたquoted-pairの形式で
あれば、加えて次のASCII文字を使用できます。
たとえば、以下はRFCの規定において有効なメールアドレスです。
以下は無効なメールアドレスです。
ローカル部の長さの最大値は、64文字です。
実際には、プロバイダー側の設定や、
メールソフトの制約などで
ローカル部の長さの最大値を20~30文字程度に制限している場合が多いです。
2.2 特別なメールアドレス
以下に示すメールアドレスは、用途が定まっているメールアドレスです。
メールサーバーでは必ず用意されることになっています。
Postmaster
メールシステムの管理者のメールアドレスとして使われます。
Nullアドレス(空のメールアドレス)
メール転送エージェント(MTA)は
宛先の間違いなどで電子メールを配送できない場合に、
その電子メールのreverse-path宛に配送不能を知らせるバウンスメールを配送します。
バウンスメールは、
一般的にエラーメールやリターンメールと呼ばれています。
発信元メールアドレスには、次に示す“MAILER-DAEMON”が使われます。
MAILER-DAEMON
sendmail、Postfix、qmailなどのMTAは、
バウンスメールのFromフィールドに、
ローカル部に“MAILER-DAEMON”を使用したメールアドレスを使用します。
これらのメールアドレスは、
メールの送信に失敗した時、あなたも目にしたことがあるでしょう。
“MAILER-DAEMON”、または“Postmaster”からメールを受信した時、
あなたがとるべき対応は、
メール本文にもとづいてまず原因を調べ、
場合によってはエラーとなった送信先メールアドレスを
メルマガ配信リストから削除することです。
【エラーメールの実際例】
3 Gmailの別名アドレス
Gmailのメールアドレスには、記法はRFC規約に違反していないものの、
いくつかの書き方がひとつのメールアドレスとして処理されない次の特別なルールがあります。
- 1. ユーザー名+任意の文字列
- 2. ドット(ピリオド)の有る無し
(1)ユーザー名+任意の文字列
Gmailに登録したローカル部の後に
「+」を付けた上で任意の文字列を付け加えたものも使用することができます。
たとえば、
メールアドレスが「username@gmail.com」だった場合、
「username+任意の文字列@gmail.com」のようなメールアドレスも使用できます。
具体的には次のようなメールアドレスです。
username+job@gmail.com
username+present@gmail.com
username+question@gmail.com
あくまで元になっているメールアドレスの別名ですので、
これらのメールアドレス宛てに届いたメールは全て「username@gmail.com」に届きます。
ここで問題となってくるのが、
ローカル部に「+」があると
正当なメールアドレスとして受け付けてくれないサービスがあるということです。
メルマガ配信スタンドの中でも、
「+」があるメールアドレスを
正当なメールアドレスとして受け付けてくれないことがあります。
対処法としては、
ここで述べたことをご理解されれば自ずとでてくるかと思います。
本記事では、具体例を示しません。
いくつか方法がありますが、どの方法を選ばれるのかは、あなたの判断次第です。
(2)ドット(ピリオド)の有り無し
Gmailに登録したローカル部について、
ドット(ピリオド)の有り無しが違うだけのメールアドレスは同一として扱われます。
たとえば「username@gmail.com」だった場合、
「user.name@gmail.com」など
次に示すメールアドレスは全て同じメールアドレスとして扱われます。
username@gmai.com
user.name@gmai.com
user.na.me@gmai.com
u.s.e.r.n.a.m.e@gmai.com
ただし、ドットは連続して使ったり、@の直前には使用できません。
次のようなメールアドレスは使用できません。
このルールは、RFCの規約通りです。
それで、問題となっているのが某ネットサービスなのです。
今(2016年06月13日)は修正されたのかどうかは確認していません。
このネットサービスは、
NGフォーマットのメールアドレスを正当なアドレスとして受け付けてしまうのです。
このネットサービスは、
特定の方にだけメールアドレスを教えることを条件にして、
ご本人にその特定の方のネットサービスを提供するものです。
でも、特定の方は、その方のメールアドレスを利用しようとすると、
不正なメールアドレスなので目的を果たせません。
つまり、
特定の方は、ネットサービスをただ取りされるだけ、
という現象が発生したことがありました。
対処法としては、先に述べた(1)に同じです。
4 メールアドレス記法に関係する問題
「3 Gmailの別名アドレス」で示した以外の
メールアドレス書式に関するトラブルには、次のようなものあります。
(1) ローカル部にラテン大文字を使った場合 (2) 「!#$%&'*+-/=?^_`.{|}~@example.com」のような特殊記号を使った場合
(1)ローカル部にラテン大文字を使った場合
ある会社の一つのサービスでは、大文字で入力しても全て小文字扱いとして処理される。
返信も元の大文字を含む場合もあり、全て小文字に変換される場合のどちらもある。
その会社の別のサービスでは、大文字小文字区別して処理される。
このため、意図しないのに、
複数のメールアドレスとして処理されるようになってしまった。
一つのメールアドレスを統一しようにも、
大文字小文字入り交じりのメールアドレスの方を削除できない、
なんていうことを経験したことがあります。
(2)特殊記号を使った場合
本来であれば使っても差し支えない文字なのですが、
受け付けてくれないサービスが多いように感じています。
でも、この場合では、サービスを受けられていない訳ですから、
サービスを受ける上でのトラブルが発生するまでにはいたりませんでした。
5 メールアドレス取得に関する結論
メールがどのアドレスに対してもきちんと送受信できる、
またネットサービスを受けられるようにするには、
メールアドレスを作成する時、
下に示すことに留意しておけば、後々問題が発生することが少なくなります。
1. ラテン大文字(アルファベット大文字)は使用しない。
2. ドット(ピリオド)は、基本的には使用しない。
3. 特殊記号は、使用しない。
4. ローカル部の長さは、64文字以内にする
(現状では、この長さまで設定できるプロバイダーは無いと思います)。
以上