メインコンテンツまでスキップ

付録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):

  1. Return-Pathヘッダー (存在し、信頼できる場合)
  2. Senderヘッダー (存在する場合)
  3. Fromヘッダー (フォールバック)

バウンスメッセージの場合、ヌルリバースパスを使用する: MAIL FROM:<>

RCPT TOの生成 (Generating RCPT TO)

受信者は以下から収集すべきである (SHOULD):

  • To: ヘッダー
  • Cc: ヘッダー
  • Bcc: ヘッダー (その後メッセージから削除)
  • Resent-To:Resent-Cc:Resent-Bcc: (再送信メッセージの場合)

メッセージヘッダー:

SMTPコマンド:

送信されるメッセージヘッダー (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]> (新しい受信者)