詳細ヘッダーにReceivedが何行も並んでいると、最上段を最初の配送記録だと思いがちです。通常のSMTP配送では、サーバーが受け取るたびに新しいReceivedを先頭へ追加するため、経路をたどるときは下から上へ読んでいきます。
この記事では、行の順序とfrom・by・時刻を対応させる読み方を説明します。ITtripが提供するメールみちでも同じ記録順を使って整理できます。ヘッダーの記載を整理するものであり、実際の経路の真偽を保証するサービスではありません。
3行のReceivedを読み解く

次は架空のヘッダーです。サーバー名は説明用で、すべて日本時間の記録になっています。
Received: from relay.partner.example by mx.company.example with ESMTP;
Tue, 6 Oct 2026 09:16:42 +0900
Received: from smtp.sender.example by relay.partner.example with ESMTP;
Tue, 6 Oct 2026 09:12:06 +0900
Received: from client.sender.example by smtp.sender.example with ESMTPSA;
Tue, 6 Oct 2026 09:12:04 +0900
これを配送記録として並べると、次の対応になります。
| 読む順番 | fromに書かれた相手 | byに書かれたサーバー | 記録時刻 |
|---|---|---|---|
| 1:最下段 | client.sender.example | smtp.sender.example | 09:12:04 JST |
| 2:中段 | smtp.sender.example | relay.partner.example | 09:12:06 JST |
| 3:最上段 | relay.partner.example | mx.company.example | 09:16:42 JST |
この例ではbyの並びがsmtp.sender.example → relay.partner.example → mx.company.exampleです。最後のサーバーの記録は、利用者が受信トレイを開いた時刻そのものではありません。Receivedの追加と記録順の仕様はRFC 5321のTrace Informationに記載されています。
from・by・withは、表示上の差出人とは別の情報
Receivedのfromは、その行に記録された送信側の相手です。byは、その行を付けた受け取り側のサーバーです。通常のメール画面に出る「差出人」と、Receivedのfromを同じものとして扱わないでください。
withは記録された通信方式の表記です。SMTP、ESMTP、ESMTPSなどの文字があっても、メールみちはそれを「安全なメール」の判定に使いません。さらに、idはサーバー側で付けた識別情報、forには宛先情報が記載される場合があります。問い合わせ先が原文を必要とする理由は、経路以外の照合情報も含まれ得るためです。
折り返し行は、前のReceivedの続きとして読む
例の日時行は先頭に空白があります。このような折り返しは、前のヘッダー項目の続きを表します。見た目の行数とReceivedの件数は一致しません。空白やTABから始まる行を切り離して日時だけを集めると、どのサーバーの記録かわからなくなります。RFC 5322のヘッダー折り返しの説明
手作業で整えるなら、Receivedを項目単位で区切り、続きの行をセットで残します。本文との間の空行より後を、経路の記録に混ぜないことも必要です。
時刻順に並べ替えると、確認したい矛盾が消えてしまう
下側の記録が09:12:04、次の記録が09:12:02だったとします。記録順では2秒の逆転です。これを09:12:02 → 09:12:04へ並べ替えると、逆転していた事実が見えなくなります。
逆転があるときは、時計のずれ、時差表記、記録の内容などを管理者に照合してもらいます。「メールが逆向きに流れた」「このサーバーが異常」といった結論にはしません。
メールみちでは順序と原文を一緒に確認する

- メールみちでReceivedを記録順に整理するを開きます。
- Receivedを含む詳細ヘッダーを貼り、「経路とメモを作成」を押します。
- 表示された各サーバーの「記録された受け渡し」を見ます。
- 気になる箇所の「元の記録を見る」を開き、原文のfrom・by・日時を確認します。
- 読み取れない記録や注意があれば、問い合わせメモから削除せず確認事項として残します。
Receivedが1件だけなら、複数の記録どうしの差は計算できません。fromやbyのない記録も、存在しなかったことにせず原文を残して確認します。メールみちの初版の入力上限は262,144文字、Receivedは1,000件です。上限を超える場合に必要な行を勝手に間引かず、元のヘッダーを管理者へ渡す方法を相談してください。
読み順を確認し終えたら、サーバーの記録と時刻が対応していること、不明な記録が残っていること、原文との対応が取れることをチェックします。その一覧が、ログ照合へ進むための材料になります。

コメント