付録B. RFC 822ヘッダーフィールドからのSMTPコマンドの生成 (Generating SMTP Commands from RFC 822 Header Fields)
この付録は、RFC 5322 (旧RFC 822) メッセージヘッダーフィールドからSMTPエンベロープコマンド (MAIL FROMおよびRCPT TO) を生成するためのガイダンスを提供する。
エンベロープ vs. ヘッダーアドレス (Envelope vs. Header Addresses)
SMTPエンベロープ: MAIL FROMおよびRCPT TOコマンドで使用されるアドレス
メッセージヘッダー: From:、To:、Cc:、Bcc:フィールドに表示されるアドレス
重要: エンベロープとヘッダーのアドレスは異なる可能性がある!
MAIL FROMの生成 (Generating MAIL FROM)
リバースパス (MAIL FROM) は通常、以下から派生すべきである (SHOULD):
- Return-Pathヘッダー (存在し、信頼できる場合)
- Senderヘッダー (存在する場合)
- Fromヘッダー (フォールバック)
バウンスメッセージの場合、ヌルリバースパスを使用する: MAIL FROM:<>
RCPT TOの生成 (Generating RCPT TO)
受信者は以下から収集すべきである (SHOULD):
- To: ヘッダー
- Cc: ヘッダー
- Bcc: ヘッダー (その後メッセージから削除)
- Resent-To:、Resent-Cc:、Resent-Bcc: (再送信メッセージの場合)
例
メッセージヘッダー:
From: [email protected]
To: [email protected]
Cc: [email protected]
Bcc: [email protected]
Subject: Meeting tomorrow
SMTPコマンド:
MAIL FROM:<[email protected]>
RCPT TO:<[email protected]>
RCPT TO:<[email protected]>
RCPT TO:<[email protected]>
送信されるメッセージヘッダー (BCC削除):
From: [email protected]
To: [email protected]
Cc: [email protected]
Subject: Meeting tomorrow
特殊なケース (Special Cases)
配信リスト (Distribution Lists)
メーリングリストに送信する場合、RCPT TOは表示されるTo:/Cc:ヘッダーと異なる可能性がある:
MAIL FROM:<[email protected]>
RCPT TO:<[email protected]>
RCPT TO:<[email protected]>
...
ヘッダーに表示:
To: [email protected]
転送 (Forwarding)
転送する場合、元のエンベロープはヘッダーと異なる可能性がある:
元: alice → bob
転送: bob → charlie
MAIL FROM:<[email protected]> (元の送信者)
RCPT TO:<[email protected]> (新しい受信者)