システム開発やメルマガ配信の設計をしていると必ずぶつかるのが、「Envelope From(MAIL FROM)」 と 「Header From(From:)」 の違いです。
「エラーメール(バウンス)が想定した場所に届かない」といったトラブルでは、この2つの違いを理解しておくことが重要です。
Webエンジニア向けに、メールの仕組みから設計時のポイントまで整理します。
1. 例え話で理解する「封筒」と「便箋」
一番わかりやすい例えは、現実の郵便物です。
- Envelope From(封筒側の差出人)
SMTP通信で指定される配送用の送信元情報。
メールを配送できなかった場合などに、エラー通知(バウンス)を返すために利用されます。 - Header From(便箋側の差出人)
メール本文と一緒に送られるメールヘッダーに記載される送信者情報。
受信者のメーラー画面に表示される送信者情報として利用されます。
この2つは、同じアドレスにすることも、別のアドレスにすることもできます。
2. 仕様・パラメータでの比較
SMTP通信とメールヘッダーのどこに設定されるかが大きな違いです。
| 項目 | Envelope From | Header From |
|---|---|---|
| 主な呼び名 | Envelope From、MAIL FROM、Reverse-Path | Header From、From: |
| 定義場所 | SMTPコマンド MAIL FROM:<...> |
メールヘッダー From: "Name" <...> |
| 主な用途 | 配送・エラー通知(バウンス) | 受信者への送信者情報の表示 |
| 通常の返信先 | 基本的に返信先として使用しない | Reply-To がない場合、通常はこちらが返信先 |
Return-Path との関係
メールのヘッダーを確認すると、以下の項目を見かけることがあります。
Return-Path: <bounce@example.com>
Return-Path は、最終配送を行うメールサーバーが、SMTPのEnvelope From(MAIL FROM)の情報をもとに付与するヘッダーです。
そのため、受信したメールの Return-Path を確認すると、実際のEnvelope Fromを確認できます。
ただし、Envelope FromとReturn-Pathは同じものではありません。
- Envelope From → SMTP通信で指定される情報
- Return-Path → 最終配送時にメールヘッダーとして付与される情報
3. Header FromとReply-Toの違い
Header Fromと返信先も混同しやすいポイントです。
例えば、以下のように設定されている場合:
From: newsletter@example.com
Reply-To: support@example.com
受信者のメーラーでは送信者として newsletter@example.com が表示されますが、返信ボタンを押した際には通常 support@example.com が返信先として利用されます。
つまり、それぞれの役割分担は以下のようになります。
- From: → 誰から送られてきたメールなのか
- Reply-To: → 返信をどこへ送るのか
- Envelope From: → 配送エラーなどをどこへ返すのか
4. 現場での一般的な設定パターン
システム構築時、この2つをどう設定するかは用途によって変わります。
パターンA:Envelope FromとHeader Fromを一致させる
一般的なWebシステムや社内向けメールでは、シンプルに同じアドレスを使用する構成があります。
Envelope From: info@example.com
Header From: info@example.com
例えば、自社システムから通知メールを送信し、バウンスも同じドメインで管理するようなケースです。構成がシンプルなため、メールの流れを理解しやすいというメリットがあります。
パターンB:Envelope FromとHeader Fromを分ける
メルマガやSaaSなどのメール配信では、用途に応じて分けることがあります。
Envelope From: bounces@example.com
Header From: newsletter@example.com
例えば、Envelope Fromをバウンス処理専用のアドレスにすることで、通常の問い合わせ用アドレスとバウンス処理を分離できます。
さらに、受信者ごとに異なるEnvelope Fromを設定してバウンスした宛先を特定しやすくする方式として、VERP(Variable Envelope Return Path)があります。
例えば、bounce-user123@example.com のように受信者を識別できる情報をEnvelope Fromに含めることで、どの宛先でバウンスしたのかを判別しやすくします。
まとめ
メール配信では、Envelope FromとHeader Fromは別物として考えることが重要です。
- Envelope From
↓
SMTPのMAIL FROM
↓
配送エラー・バウンスなどの処理 - Header From
↓
メールのFrom:
↓
受信者に表示される送信者情報 - Reply-To
↓
通常の返信先
この違いを理解しておくと、「バウンスが想定した場所に届かない」といったトラブルの切り分けがしやすくなります。
なお、この2つのアドレスが一致しているかどうかは、SPF・DKIM・DMARCといったメール認証の仕組みにも関わってきます。「SPFは通っているのになぜか迷惑メールに入る」といった認証まわりのトラブルについては、別記事で詳しく整理します。
ここまで読んでいただき、ありがとうございます。もしこの記事の技術や考え方に少しでも興味を持っていただけたら、ネクストのエンジニアと気軽に話してみませんか。
- 選考ではありません
- 履歴書不要
- 技術の話が中心
- 所要時間30分程度
- オンラインOK