コンテンツにスキップ

「メールアドレス」の版間の差分

出典: フリー百科事典『ウィキペディア(Wikipedia)』
削除された内容 追加された内容
→‎構成: ローカル部の文字制限や長さの実態
5HPONGO (会話 | 投稿記録)
35行目: 35行目:
#* <code>\</code> <code>"</code>
#* <code>\</code> <code>"</code>
たとえば、以下は(RFCの規定においては)有効なメールアドレスである。
たとえば、以下は(RFCの規定においては)有効なメールアドレスである。
*実際には、プロバイダサイドでローカル部に利用可能な文字を制限(特に記号文字は、「-」ハイフンや「_」アンダーバー、「.」ドット/ピリオド程度しか使えない)している場合が多いため、3番目以下のローカル部についてはメールアドレスとして登録できない場合もある。
*実際には、プロバイダサイドでローカル部に利用可能な文字を制限(特に記号文字は、「-」ハイフンや「_」アンダーバー、「.」ドット/ピリオド程度しか使えない)している場合が多いため、3番目以下のローカル部についてはメールアドレスとして登録できない場合もある。
[email protected] (dot-atom)
[email protected] (dot-atom)
[email protected] (dot-atom)
[email protected] (dot-atom)

2009年8月13日 (木) 01:05時点における版

メールアドレス (mail address) は電子メールにおける送信先や発信元を表す。誤解恐れのないときは単にアドレスとも呼ばれる。他に略称としてメルアドメアドがある。

構成

メールアドレスは、次の構文を持つ。

ローカル部@ドメイン(例:foo@example.com

ローカル部の構成はメールサーバの仕様によるが、ユーザ名であることが多い。ドメインはホスト名(ホストに割り当てられるドメイン名)であり、メールサーバを特定する。この例では、「“example.com”で特定されるメールサーバに登録されている“foo”というユーザ」として扱われる。 メールアドレスのフォーマットを規定する文書として、RFCのRFC 5321 (Simple Mail Transfer Protocol) [1]およびRFC 5322 (Internet Message Format) [2]が存在し、メールアドレスに使用できる文字が定義されている。

ローカル部に使用できる文字

ローカル部に使用できる文字は以下のASCII文字である。

  1. まず、次のASCII文字をそのまま並べた形式(RFC 5321ではDot-string、RFC 5322ではdot-atomと呼ぶ)が使用できる。
    • 大小のラテン文字(本来は大文字小文字は区別されるが、実際には区別されていない実装がほとんどである[3]。一般的には小文字で表記される)
    • 数字
    • ! # $ % & ' * + - / = ? ^ _ ` { | } ~(実際には、プロバイダサイドで利用可能な記号文字を一部のみに制限している場合が多い)
    • .(先頭と末尾以外で使用可能。2個以上連続してはならない)
  2. さらに、“" "”でくくられたquoted-stringの形式であれば、加えて次のASCII文字を使用できる[4]
    • ( ) < > [ ] : ; @ ,
    • .(quoted-string中では制限はない)
  3. さらにquoted-string中では、“\”を前につけたquoted-pairの形式であれば、加えて次のASCII文字を使用できる。

たとえば、以下は(RFCの規定においては)有効なメールアドレスである。

  • 実際には、プロバイダサイドでローカル部に利用可能な文字を制限(特に記号文字は、「-」ハイフンや「_」アンダーバー、「.」ドット/ピリオド程度しか使えない)している場合が多いため、3番目以下のローカル部についてはメールアドレスとして登録できない場合もある。
[email protected] (dot-atom)
[email protected] (dot-atom)
user+mailbox/[email protected] (dot-atom)
!#$%&'*+-/=?^_`.{|}[email protected] (dot-atom)
"Abc@def"@example.com (quoted-string)
"Fred\ Bloggs"@example.com(quoted-pairを含んだquoted-string)
"Joe.\\Blow"@example.com(quoted-pairを含んだquoted-string)

以下は無効なメールアドレスである。

[email protected](“.”をローカル部の末尾に使用している)
[email protected](“.”が連続している)

ローカル部の長さの最大値は64文字である[5]。(実際には、プロバイダサイドの設定や、メールソフトの制約などでローカル部の長さの最大値を20~30文字程度に制限している場合が多い)

ドメインに使用できる文字

ドメインには、次のいずれかの形式が使用できる。

  • ラテン文字・数字・“-”(先頭はラテン文字または数字)から成るサブドメインを“.”でつないだ形式で、A RRもしくはMX RR(またはそれらに名前解決されるCNAME RR)に名前解決される完全修飾ドメイン名 (FQDN)[6]
  • [ ]”でくくられたIPアドレス(例: [192.0.2.69][7])。

ドメインの長さの最大値は255文字、メールアドレス全体の長さの最大値は256文字である[5]

仕様を逸脱したピリオドの使用

#ローカル部に使用できる文字で述べたように、ローカル部にはquoted-string形式でなければ“.”を先頭と末尾で使用することや2個以上連続して使用することはできない。 しかし、一部の実装(実例:携帯電話のメール)はこの仕様を逸脱しており、規定外の特殊な文字が使用可能な場合もある[8]

Postfixは、配送する電子メールのエンベロープやヘッダに仕様を逸脱したローカル部を持つメールアドレスが存在すると、ローカル部を“" "”でくくった形に変形する。エンベロープ中のメールアドレスについてはこの機能を無効に設定できる[9]が、ヘッダ中のメールアドレスについては無効化できない。

電子メールでのメールアドレスの使用

メールアドレスは電子メールの中のいくつかの箇所で使用され、使用される箇所により決まった形式で現れる。

電子メールでメールアドレスが使用される箇所

  • エンベロープ中のパス。RFC 5321で定義される。
    reverse-path
    電子メールの送信元。エンベロープfromとも呼ばれる。
    forward-path
    電子メールの送信先。エンベロープtoとも呼ばれる。
  • メールヘッダ中のフィールド。RFC 5322で定義される。
    Fromフィールド
    電子メールの著者。
    Senderフィールド
    電子メールの送信者が著者と異なる場合や、著者が複数の場合の、電子メールの送信者。
    Toフィールド
    電子メールの受信者。
    Reply-Toフィールド
    電子メールの返信先。
    Ccフィールド
    カーボンコピーの受信者。
    Bccフィールド
    ブラインドカーボンコピーの受信者。
    再送フィールド (Resent-From・Resent-Sender・Resent-To・Resent-Cc・Resent-Bcc)
    電子メール再送時の情報を、元のフィールドを変更せずに記入するために使用される。それぞれ、“Resent-”のつかないフィールドに対応する。
    Return-Pathフィールド
    SMTPサーバにより、reverse-pathの情報が記入される。

電子メールでの使用形式

それぞれの使用箇所で使用できるメールアドレスの形式を、以下の表に示す。

メールアドレスの使用形式一覧
形式 RFC 5321での呼称 使用箇所(エンベロープ) RFC 5322での呼称 使用箇所(ヘッダ)[1]
[email protected] Mailbox - address mailbox addr-spec From Sender Reply-To To Cc Bcc
<[email protected]> - - name-addr
foo <[email protected]>
foobar:
 foo <[email protected]>,
 bar <[email protected]>;
- - group Reply-To To Cc Bcc
<[email protected]> Path reverse-path forward-path path Return-Path
^再送フィールド (Resent-From・Resent-Sender・Resent-To・Resent-Cc・Resent-Bcc) で使用できるメールアドレスの形式は、それぞれ対応する“Resent-”のつかないフィールドと同様である。
  • ローカル部@ドメイン」の形式(例: [email protected])を、RFC 5321ではメールボックス (Mailbox) と呼び、 RFC 5322ではaddr-specと呼ぶ。
  • メールアドレスが使用されるヘッダフィールドのうちReturn-Path以外のヘッダフィールドには、addr-specのほか、addr-specの形式を“< >”でくくったり、さらに前に表示名を挿入したりしたname-addr(例: <[email protected]>foo <[email protected]>)が使用できる。RFC 5322では、addr-specとname-addrをあわせてメールボックス (mailbox) と呼ぶ。
  • Fromフィールドには、メールボックスを“,”で区切ったメールボックスのリストを用いて複数の著者を記入できる。このとき、1つの送信者のメールボックスを記入したSenderフィールドが必須である。
  • Reply-To、To、Cc、Bccフィールドには、複数人のメールボックスを“,”で区切り、前に表示名と“:”、後ろに“;”を挿入したグループ (group)(例: foobar:foo <[email protected]>,bar <[email protected]>;)も使用でき、RFC 5322ではメールボックスとグループをあわせてアドレス (address) と呼ぶ。Reply-To、To、Cc、Bccフィールドには、アドレスを“,”で区切ったアドレスのリストを用いて複数記入できる(メールボックスもアドレスであるから、メールボックスのリストも使用できる)。Bccフィールドの値は空でもよい。
  • reverse-pathおよびforward-pathには、Mailboxの形式を“< >”でくくったパス (Path)(例: <[email protected]>)を用いる。Return-Pathフィールドも同様である。

特別なメールアドレス

Postmaster
メールシステムの管理者のメールアドレスとして使われる。SMTPサーバは、forward-pathに「Postmaster@ドメイン」、またはドメインのない“Postmaster”が指定された電子メールを受け取らなければならない。どちらも“Postmaster”の文字は大文字小文字を区別しない。
ヌルアドレス
メール転送エージェント (MTA) は宛先の間違いなどで電子メールを配送できない場合に、その電子メールのreverse-path宛に配送不能を知らせるバウンスメールを配送する。バウンスメールのreverse-pathには空値(ヌル)のアドレスを用いたパス、すなわち“<>”が使用される。
MAILER-DAEMON
sendmail、Postfix、qmailなどのMTAは、バウンスメールのFromフィールドに、ローカル部に“MAILER-DAEMON”を使用したメールアドレスを使用する。

そのほか、RFC 2142 (Mailbox Names for Common Services, Roles and Functions) [10]に、よく使われるメールアドレスが定義されている。

脚注

  1. ^ Klensin, J., ed. (Oct 2008), Simple Mail Transfer Protocol, RFC 5321 
  2. ^ Resnick, P., ed. (Oct 2008), Internet Message Format, RFC 5322 
  3. ^ RFC 5321の2.4節“General Syntax Principles and Transaction Model”と4.1.2節“Command Argument Syntax”によれば、大文字小文字を区別するローカル部をもつメールボックスを定義することは、相互運用性を妨げるため、避けるべきである。
  4. ^ RFC 5321 4.1.2節“Command Argument Syntax”によれば、quoted-string形式が要求されるローカル部をもつメールボックスを定義することは、相互運用性を妨げるため、避けるべきである。
  5. ^ a b RFC 5321 4.5.3.1節“Size limits and minimums”
  6. ^ RFC 5321 3.6節“Relaying and Mail Routing”
  7. ^ RFC 5321は実在のIPアドレスで例示しているが、ここでは例示用のIPアドレスを使った。
  8. ^ みんなで渡れば怖くない - au by KDDI メールアドレスにRFC違反を故意に許すの巻」、Web屋のネタ帳、2006年6月2日。
  9. ^ smtp_quote_rfc821_envelope”パラメータを“no”に設定する(Postfix設定パラメータ”. Postfixのぺーじ ( エラー: 月日を month や day に分けずに date にまとめて記入してください。). 12月8日閲覧。accessdateの記入に不備があります。参照)。
  10. ^ Crocker, D. (May 1997), Mailbox Names for Common Services, Roles and Functions, RFC 2142 

外部リンク