技術解説 · 出典付きの回答
SMTPエンベロープとヘッダーの違いとは?
SMTPエンベロープはメールサーバーがメッセージをルーティングするために使う指示の集まりであり、ヘッダーはメッセージ本体に含まれるメタデータです。エンベロープは配信上の実際の送信者と受信者を定義し、ヘッダーはエンドユーザーのメールクライアントに表示される情報を提供します。
SMTPエンベロープ
エンベロープはメールの伝送レイヤーです。SMTPセッション中に発行されるMAIL FROMコマンドとRCPT TOコマンドで構成されます。これらのコマンドは、誰がメールを送っているのか、どこに配信すべきかを受信側サーバーに伝えます。エンベロープはメッセージが宛先サーバーに正常に引き渡された時点で取り除かれ、最終的な受信者には見えません。
メールヘッダー
ヘッダーはSMTPセッションにおけるDATAコマンドの一部です。From、To、Subject、Dateといったフィールドが含まれます。エンベロープとは異なり、ヘッダーはメッセージとともに保存され、メールクライアントに表示されます。ユーザーが送信者として目にするのはFromヘッダーですが、これはエンベロープの送信者と異なる場合があり、トランザクションメールの送信ではよく使われる手法です。
この違いが重要な理由
この分離は送信ドメイン認証にとって重要です。SPFがチェックするのはエンベロープの送信者(Return-Path)であり、Fromヘッダーではありません。DMARCは、なりすましを防ぐために、エンベロープの送信者とヘッダーのFromドメインとのアライメントを求めます。この2つのレイヤーがアラインしていないと、メッセージが迷惑メールと判定されたり、認証チェックに失敗したりすることがよくあります。
運用上の注意点とよくある失敗
よくある誤解は、Fromヘッダーを変更すればバウンスの返送先アドレスも変わると考えることです。バウンスはエンベロープの送信者に送られます。SendHQやその無料ツール(https://sendhq.cc/tools)を使う開発者は、高い到達率と適切なバウンス処理を維持するため、Return-Pathが認証済みのドメインと一致していることを確認してください。
具体例
ニュースレターの例では、配信の失敗を処理するためにエンベロープの送信者を bounces@marketing.com にし、顧客からプロフェッショナルに見えるようにヘッダーのFromを hello@company.com にすることがあります。サーバーはエンベロープに基づいてメールをルーティングしますが、ユーザーが目にするのはヘッダーです。
よく寄せられる質問
SPFが検証するのはどちらですか?
SPFはエンベロープの送信者、具体的にはMAIL FROMコマンドに含まれるドメインを検証します。これは通常、受信したメールのヘッダーではReturn-Pathとして表示されます。
エンベロープとヘッダーの送信者は異なっていてもよいのですか?
はい、異なっていても問題ありません。自動送信システムでは、エンベロープには専用のバウンス用アドレスを、ヘッダーにはブランドのアドレスを使うのが一般的です。
受信者にSMTPエンベロープは見えますか?
いいえ。受信者に見えるのはヘッダーだけです。エンベロープはメール転送エージェントがルーティングのためだけに使い、配信後には破棄されます。
一次情報源
- RFC 5321:簡易メール転送プロトコル(SMTP) — RFC Editor
- RFC 5322:インターネットメッセージ形式 — RFC Editor
- RFC 7489:ドメインベースのメッセージ認証・レポート・適合(DMARC) — RFC Editor