なぜ送信元アドレスを変更できるの? – ヘッダとエンベロープの違い –

今回もメール配信システム「ワイメール」の公式コラムをご覧いただきありがとうございます。

インターネットやサーバーについて明るい方であれば、メールアドレスの@マーク以降の文字列が「ドメイン」と呼ばれる、サーバーのインターネット上の住所を示すものであることはご存じかと思います。

過去のコラムでワイメールでは送信元アドレスのドメインを自由に変更できると案内しましたが、DNSの変更も行っていないのになぜ単一のサーバー・IPアドレスで提供されているワイメールでそのようなことが可能なのでしょうか。

実は、それには「エンベロープFrom」と「ヘッダFrom」という、2つの「送信元アドレス」が関わっています。

今回のコラムでは、メールの仕組みにおけるエンベロープとヘッダの概要や違いなどを解説します。

メールの仕組みについて

まず初めに、メールはどのようにして相手に届くのでしょうか。

メールはSMTP(Simple Mail Transfer Protocol)というメール専用のプロトコルを使ってデータのやり取りをしています。

SMTPを扱うSMTPサーバーはメールの世界における郵便局のようなもので、メーラーから受け取ったメールを見て、送信先のメールアドレスを管理しているSMTPサーバーに転送します。

相手側のSMTPサーバーに転送されたメールは、POP3(データを端末に移動)やIMAP(データはサーバーに残して端末にコピー)といったプロトコルでメーラーに届き、受信者が閲覧できる状態になるのです。

ヘッダとは

メールのデータには、送信元のメールアドレスや送信経路、ドメイン認証の結果などを記述する「ヘッダ」と、実際のメールのデータが記述されている「ボディ」が存在します。

Toヘッダの宛名と敬称の設定を確認しようでもご紹介した通り、メーラーはヘッダの情報を読み取って「宛先」などの情報を表示しています。

また、このヘッダに記載されたFromフィールドの値を「ヘッダFrom」といい、メーラーで「差出人」として表示される値になります。

エンベロープとは

SMTPサーバーが郵便局のようなものという話をしましたが、SMTPで送受信されるメールデータ自体も、郵便物のように封筒(エンベロープ)と内容物(ヘッダ、ボディなど)で構成されています。

郵便局が封筒に書かれた宛先を見て配達するように、SMTPサーバーはエンベロープに記載された宛先を見て転送先のSMTPサーバーを決定しています。

そして、封筒に差出人の住所を書くように、エンベロープに送信元アドレスを記載することで、アドレスが存在しない場合や受信ブロックなどで不達になった場合にメールが戻ってくるようになっています。

封筒に書かれた宛先を「エンベロープTo」、差出人を「エンベロープFrom」と呼びます。

エンベロープ情報はメーラーには届かない

エンベロープ情報はSMTPで通信をするときのみ使用され、受信側のSMTPサーバーが受け取った際に破棄されます。

郵便局(SMTPサーバー)間の輸送に使用される専用の封筒というイメージでしょうか。メーラーには封筒から出した中身がそのまま渡されます。

エンベロープFromを確認するには?

エンベロープ情報自体はSMTPサーバーで破棄されますが、エンベロープFromのメールアドレスは、メールヘッダの「Return-Path」に記載されるため、メーラーでも確認可能です。

Gmailでヘッダの情報を確認したい場合、確認したいメールを開いて、プレビューの右上の返信アイコンの横にあるその他アイコンをクリック>メッセージのソースを表示をクリックします。

なぜエンベロープとヘッダが分かれているの?

SMTPサーバーはわざわざエンベロープを追加してやり取りしなくても、ヘッダFromのアドレスからヘッダToのアドレスにそのまま送信すればいいじゃないか、と思うかもしれません。

ですが、これらが分かれていることで、いくつかのメリットが存在するのです。

メインのメールサーバーと別のメールサーバーで同じメールアドレスからの送信ができる

普段は自社のメールサーバーを使用して、問い合わせやなどの個別の送受信を行っているが、顧客全体に一括で案内のメールを配信するために、ワイメールのようなメール配信サービスを利用するケースを考えてみます。

メール配信サービスでは、自社のメールサーバーとは別のメールサーバーが貸与されますが、当然IPアドレスも変わってくるため、対応するドメイン名も違うものになります。

参考: なぜ専用のドメインまたはサブドメインを準備しなければならないのですか?

そうすると、メール配信サービスから送信を行った場合、普段と違う送信元から配信されることになるわけですが、この時ヘッダToにメール配信サービスのドメインが記載されてメーラーで差出人と表示されてしまうと、受信者は混乱してしまいます。

ですが、送信元を正確に記載していないと、不達になった際にエラーを受け取れません。

そこで、SMTPサーバーどうしでメールのやり取りをするときはエンベロープFrom、メーラーで差出人を表示する場合はヘッダFromというように使い分けることで、複数のメールサーバーから、見かけ上同じメールアドレスで送信を行えるようになっているのです。

そして、これがワイメールで送信元アドレスを自由に設定できるようになっている理由になります。

エンベロープFromでメールの識別ができる

ヘッダFromを常に同じメールアドレスにすることで、メーラーで表示される際には同じメールアドレスから送信されてきているように見せることができるわけですが、逆に言えば、エンベロープFromは毎回変えても問題ありません。

そこで、ワイメールでは、配信されるメール一通一通のエンベロープFromに、そのメールが特定できる情報を記載しています。

送信先のアカウントが存在しなかった場合や、受信ブロックなどで相手のSMTPサーバーにメールが届かなかった場合は、エンベロープFromにエラーが返ってくるため、そのエラー内容と受信したアドレスの情報を合わせることで、どの配信でどの読者が不達になったのかを集計し、配信履歴画面での到達状況の表示や、不達の蓄積による読者の自動配信停止を行っています。

Bccが使用できる

メーラーで、ToやCcの受信者にはBccで送信したアドレスは見えないため、上司に社外宛のメールを共有するときにBccを使用する方もいらっしゃると思います。

実は、メーラーでBccに書いたメールアドレスは、ヘッダには記載されず、エンベロープToに直接追加されて送信されています。

他の受信者にアドレスが見ないように送信するのがBccの目的ですが、Bccのメールアドレスがヘッダに記載されてしまうとToやCcで受信した人がメールのソースを確認したときにわかってしまうので、意味がないですよね。

そのため、サーバー側で破棄されるエンベロープ情報のみにBccのアドレスを追記するという方法をとっています。

ワイメールは、リストに対して配信を行うサービスですので、CcやBccは必要ないため実装されていませんが、一般的なメーラーでも、エンベロープとヘッダが分かれているメリットがあるのです。

ドメイン認証でなりすまし対策を

ヘッダFromのメールアドレスが自由に設定できるということは、なりすましメールが容易に送信できてしまうというデメリットがあります。

また、受信側もそれを警戒してなりすまし判定による受信ブロックや迷惑メールフォルダへの振り分けを行う可能性があります。

そこで、なりすましメールかどうかを受信者が確認し、対応を判断するために、SPFやDKIM、DMARCのような「送信ドメイン認証」を適切に設定することが対策として重要になっています。

詳しくは、なりすまし判定を回避するための対策をご覧ください。

最後に

今回は、メールにおけるヘッダとエンベロープの違いについて解説しましたが、事前の学習無く、シンプルかつ直感的にメール配信が行えるよう日々改善に努めていますので、ワイメールを利用するにあたって、このような知識は特に必要ありません。

ですが、メールの仕組みを知ることで、トラブルシューティングが行いやすくなったり、漠然と行っていたドメイン認証などの重要性を再確認する機会になります。

この記事をきっかけに、奥深いメールの世界に興味を持っていただけると幸いです。