ヘッダとエンベロープ

今回は From、To についてヘッダとエンベロープの違いについてお話します。

葉書

しばしばEメールは封書に例えられます。 エンベロープの訳は封筒ですから封書に例えたくなる気持ちも分からないではないですけど、どちらかっていうと葉書のほうが近いと思います。

ところで念のために確認しておきますが、葉書って知っていますか?
はい、そこの人。何を馬鹿なことを聞くと思いましたね。
しかし、自分は何十年も年賀状を出していないので、もしかしたら今世紀に一度も葉書を出したことがないかもしれません。 そういう時代なので人によっては葉書って何?ってことがあるかもしれない。 ジェネレーションギャップは思いがけないところから姿を現すのです。

葉書。↓こんなのです。 f:id:vamoscavy:20180130160952j:plain

これは一枚の紙の裏表です。 左は切手を貼って宛先を書く面。 右は伝えたい内容を書く面。 この例では、右の伝えたい内容の方にも宛名を書いてあります。 この宛名、左の宛名と違いますね。 差出人も違います。
では、この葉書は誰に届きますか? 左に書いてある「阿照崎TV」ですね。 宛先が間違っていたら誰の所に戻されますか? 左に書いてある「佐志 山車忍」さんですね。
郵便屋さんは左の面に従って葉書を届けてくれます。 右の面に何が書いてあるかは関係ありません。

左の面の差出人、宛先がEメールではエンベロープ From、To に相当します。 Eメールの送信元はエンベロープ From であり、送信に失敗ときのエラーメールの宛先になります。 これらはメール送信のプロトコル(SMTP)の MAIL FROM と RCPT TO コマンドになります。

MAIL FROM:<dashinin.sashi@example.com>
250 OK
RCPT TO:<atesaki.tv@example.com>
250 OK

EメールではエンベロープはEメールを配送するときに必要なだけなので、届いてしまうと無くなります。

右の面に書いてある差出人、宛先がヘッダ From、To に相当します。

メーラーでEメールを表示すると右の面相当の内容を表示します。 メーラーで表示している From、To はヘッダ From、To なのです。

メーラー

さて、Eメールを書くときにエンベロープとヘッダの From、To を意識していないと思います。 それどころか、更に Cc や Bcc などもあります。

メーラーはそれぞれ見た目は異なりますが、まぁ↓こんな感じです。

f:id:vamoscavy:20180130162832j:plain:w500

From、To、Cc、Bcc 欄があります。 これらは、ヘッダとエンベロープではどのように扱われるのでしょうか?

まずは、ヘッダです。 ヘッダには From、To、Cc があります。 Bcc はありません。 メーラーに入力した From、To、Cc がヘッダに記述されます。 Bcc は記述されないので、受信者に誰宛てにメールを出したのか知られたくない場合に使用します。

From: 佐志山車忍 <dashinin.sashi@example.com>
To: 阿照崎TV <atesaki.tv@example.com>
Cc: ミッキー <mickey@example.com>

(実際は名前部分が MIME エンコードされます。)

次にエンベロープです。 エンベロープはメールサーバーがメールを送信するために使用するものなので、人が見て分かりやすいための氏名はありません。 (上の SMTP 例にメールアドレスしかありません。)
メーラーで入力したうちのメールアドレス部分だけを扱います。 メーラーの From で入力したメールアドレス部分がエンベロープ From になります。 メーラーの To、Cc、Bcc で入力したうちのメールアドレス部分がエンベロープ To になります。 エンベロープでは To、Cc、Bcc を区別せずに全て To になります。

MAIL FROM:<dashinin.sashi@example.com>
250 OK
RCPT TO:<atesaki.tv@example.com>
250 OK
RCPT TO:<mickey@example.com>
250 OK
RCPT TO:<mccoy@example.com>
250 OK

メールリレーサービス

ただメールを右から左に流すだけのメールリレーの場合には、エンベロープもヘッダも受け取ったものをそのまま送信します。
Customer Mail Cloud (CMC) は SMTP でメールを受け取り SMTP でメールを送信するメールリレーサービスです。 メールリレーサービスは、只メールを右から左に流すだけでなく便利な機能を提供しています。 各機能を実現するためにエンベロープとヘッダを区別して利用します。

宛先アドレスが無い場合に何度も送らない

送信先のドメインに宛先のメールアドレスが無い場合、そのことを表すエラーメールが返ってきます。
個人的に1通ずつやり取りしているメールならばエラーが返ってきたと認識するだけでいいのですが、 メールリレーサービスで多くのメールを送る場合には、このようなエラーが多いと相手のドメインから接続を拒否されることがあります。 そうなると、存在する宛先のメールも巻き添えで送ることができなくなります。
それを回避するために CMC にはエラーメールを受けとって宛先が無かった場合には次回から送らない機能があります。
CMC ではエラーメールを受け取るためにエンベロープ From を CMC のメールアドレスにしてメールを送信します。

今回は、メールの From、To についてエンベロープとヘッダの違いの話をしました。
それでは、ごきげんよう。