メールを普段送受信していると気付きませんが、ソースを見ると様々な情報が書かれています。この記事ではメールヘッダーに記載されている内容と、その意味を解説します。
一般的なヘッダー
Delivered-To
メールの宛先を示しています。
Received
メールがどのようなサーバを経由して送られてきたかが分かります。複数のサーバを経由していると、その分Receivedが増えます。
Return-Path
メールが届かなかった場合の通知先メールアドレスが記載されます。
User-Agent
メールを作成したアプリケーションに関する情報が記載されます。
Date
メールを送信した日時が記載されます。
Subject
メールの件名です。
From
メールの送信者に関する情報が記載されます。
To
メールの送信先に関する情報が記載されます。複数のメールアドレスを記載できます。
CC
メールをCC(カーボンコピー)している宛先に関する情報が記載されます。複数のメールアドレスを記載できます。
Message-ID
メールのユニークIDです。最初のSMTPサーバ側で採番されます。
Thread-Topic/Thread-Index
メールをスレッド表示する際に利用されています。Gmailの場合、Thread-Topicだけのようです。OutlookなどではThread-Indexも利用されています。
Mime-version
MimeはMultipurpose Internet Mail Extensionの略語で、メールで複数バイト文字や画像などを扱う際に指定します。現時点では1.0固定のようです。
Content-type
メールがテキスト形式かHTML形式か、さらに添付ファイルがあるかどうかを示しています。
Content-Transfer-Encoding
コンテンツのエンコーディング方式に関する情報が記載されます。
セキュリティ周り
Received-SPF
SPF認証に成功した場合、passという文字が記載されます。
ARC-Seal/ARC-Message-Signature/ARC-Authentication-Results
ARCは電子署名を利用し、メールが再送された場合でも送信者情報を認証する技術です。その結果ARC-Authentication-Resultsに保存します。
Authentication-Results
SPFやDKIM、DKIM ADSP、DMARCなどのスコアが記載されます。認証結果の判定に使われます。
その他
X-*
サービス側で任意に設定できるメールヘッダーです。
まとめ
メールヘッダーはRFC 2076にまとまっています。普段は殆ど気にすることはありませんが、開発者であれば分析や自動化する際に利用することもあるでしょう(もちろんメールサーバ自体を開発する際にも)。参考にしてください。