Home > メールアドレスの大文字小文字は区別されるか

メールアドレスの大文字小文字は区別されるか

  • Posted by: TETRA
  • 2009年7月15日 00:14

「メールアドレスって大文字で書いても小文字で書いてもいいんですか?」

これって色んなところで出ている疑問だと思うのですが、いまひとつ正しく理解されていないのでメモです。読んだ方はトリビアを自慢しつつ正しいメールアドレスの普及に努めてください。

あ、ちなみに結論を言うと「@マークより前は Case Sensitive かもしれない (MAY)。@マークより後ろは Case Insensitive でなければならない (MUST)。」です。僕もよく分かってなかった時期があるんで、嘘ついたことがあるかもしれません。

お詫びをかねて以下まとめ

メールアドレスの構成

当たり前のことですが、メールアドレスは主に二つの部分から構成されています。”local part” と “domain” です。@マークより前が local-part、@マークより後ろが domain です。(「ローカルパート」って単語だけでも覚えておくとよいです。かっこいいですし。)

で、domain は結局 DNS で IP に変換できればいいものなので、大文字、小文字の区別はありません (RFC 4343)。SMTPの仕様でも「区別しなくていいよ」って書いてあります。

一方、同じSMTPの仕様上で、 local-part は明確に「区別すべし」とのお達しがあります。

具体的には “RFC 2821:Simple Mail Transfer Protocol” に以下の記述があります。

That is, a command verb, an argument value other than a mailbox local-part, and free form text MAY be encoded in upper case, lower case, or any mixture of upper and lower case with no impact on its meaning. This is NOT true of a mailbox local-part. The local-part of a mailbox MUST BE treated as case sensitive. Therefore, SMTP implementations MUST take care to preserve the case of mailbox local-parts. Mailbox domains are not case sensitive.

というわけで、メールアドレスのうち、 local-part の文字列は SMTP を通じで Case Sensitive に転送されます。それを受け取ったメールサーバーは、メールの local-part に応じてユーザーのメールボックスに配送したり、転送したり破棄したりします。

local-part meets user name.

と、いうわけで、 local-part は相手方のメールサーバーまで Case Sensitive に配送されるわけですが、最終的にメールを仕分けるサーバーが Case Sensitive か Case Insensitive かどうかは実装次第です。

以下実装ごとに調べた結果をメモです

Windows Server + Microsoft Exchange Server

Exchange 2003 on Windows Server 2003 R2 の話になるんですが、Microsoft の MVP が「Case Insensitive」っていってました。

そもそも Windows 系 OS はファイル名の大文字・小文字を区別しなかったり(NTFS の制限ではなくて、サブシステムレベルでの同一視であって、無効にすることもできます)、ユーザー名に関しても Case Insensitive なので、メールアドレスだけ Case Sensitive にするのも難しそうです。

Unix + Postfix

Unix では大文字小文字さえ違えば別ユーザーなんですっけ? よくわかりませんけど。デフォルトの状態では Postfix は local-part に対して Case Sensitive な判断をするようです。

NTT DoCoMo, KDDI, Softbank

個人的に知る限りこれらのキャリアも Case Insensitive です。もし間違っていたらコメントをお願いします。

京都大学のメールサーバー

われらが京都大学の全学のメールサーバーは Case Insensitive のようです。

S-COOP のメールサーバー

現在は Case Insensitive です。 OC@なんたら とか MSJ@なんたらに送っても、 oc@なんたら とか msj@なんたら に届きます。

その他

基本的に Case Insensitive が多いのですが、やはりある程度の数のメールサーバーは Case Sensitive とのこと。

参考

Comments:0

Comment Form

画像の中に見える文字を入力してください。

Trackbacks:0

TrackBack URL for this entry
http://tetlist.info/mt/mt-tb.cgi/61
Listed below are links to weblogs that reference
メールアドレスの大文字小文字は区別されるか from TETLIST

Home > メールアドレスの大文字小文字は区別されるか

Search
Feeds

Return to page top