【メール】メールヘッダーの解析方法【メールトラブル解析】

メールサーバーを運用していると日常的にいろいろなトラブルが発生します。

お客様より「メールが届いてないよ!」とクレームがあったり、自社のサポートより「メール送信のエラーが来たよ!」など様々なシチュエーションで障害が発生します。

また、レンタルサーバーをメールサーバーとして運用することもあると思います。

 

今回は、メールトラブル発生時に正確に調査をするために欠かせない「メールヘッダー」の解析方法を解説します。

 

メール送信時の SMTP プロトコルの解析については以下を参考にしてください。

 

【メール】メール送信時のSMTP(Simple Mail Transfer Protocol)プロトコルの解析

 

 

 

【Gmail】メールヘッダーの表示方法

最近はほとんどの方が「Gmail」をメーラーとして利用していると思います。

そのため「Gmail」のメールヘッダーの表示方法です。

下図のようにメールヘッダーを確認したいメールを開き

【メール】メールヘッダーの見方

 

 

以下は、マイクロソフトから送信されてきたメールです。

【メール】メールヘッダーの解析方法【メールトラブル解析】

 

 

 

 

以下のように詳しい情報を確認できます。

Delivered-To: to_mail@gmail.com ← 宛先メールアドレス 
Received: by 2002:a4f:b00d:0:0:0:0:0 with SMTP id z13csp309982ive; 
        Thu, 20 Dec 2018 18:35:28 -0800 (PST) 
X-Google-Smtp-Source: AFSGD/XRg2dPWU+FrmCJFeN12fx5TdFQYTVxJdVh2hnsLB/0hwBTWp73aahf6eiTgG6P2OaNfu2u 
X-Received: by 2002:a24:1889:: with SMTP id 131mr946419itr.138.1545359727991; 
        Thu, 20 Dec 2018 18:35:27 -0800 (PST) 
ARC-Seal: i=1; a=rsa-sha256; t=1545359727; cv=none; 
        d=google.com; s=arc-20160816; 
        b=O7rP+RBGxAvvTeF7B9HZ8MDLIdw3lCYuHQpmG5AjquXyatfsjtbeNrWNQ79hQhdDUT 
         iNacHFnhyzo1yz4EVHslpYKYIx1UXDGwb4dzY7A2mY4QJhEjd4QzUJ0Zn+g7rdmeKwK1 
         opJLm42lWXR8ryG9UOPAo//GQinBW+3LAo/i/ZAuwvUUoMfj5LDTnuKHPym6ReDETv4S 
         hnFeLyUylZxF66WJCouQGnKhN6KFtSewJrokTIevTkkoK+bq6R2o3PO7GTraSNHgkRh3 
         vDL3l8noRR1Q+cyCfo4ialjCMMxQds3gHr9Or5CDSWsneLQXYASsNLjnqxbnGCIVsPnd 
         rchg== 
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; 
        h=content-transfer-encoding:feedback-id:message-id:list-id:reply-to 
         :mime-version:list-unsubscribe:date:subject:to:from:dkim-signature; 
        bh=gEVXMUmka3Uu0sPHp5vGBek0JPV/QJY40yWhVGT7Ee8=; 
        b=BTWXGyOi+GAFba43hPB7E5IVgkhX2J/kktEYQfT7md86j6l7r2+XA6ugVQnvHJGiYc 
         NfnQzHxHVscj3+QyvCrzN3jHjDuOLl82w7E007cB/kyWwCBfws/+tHdPROO4mBzxWmvR 
         HOeBE1n0pNj+iK3GsXkEgLZTjodskAEINejuNeXj/X6sVPpSzm+poPBApNpyCW1+qwJU 
         8iK+rH1C2VWAmVeB1VtswaJsLbuPapXDnHBe+VrBx5UHA4gydDRcXtyUln0yL71ntPB8 
         kc7Eb3ASYzh1gG+3IvUbNyciQP5TOc8EXh4WhEQyREo3JnsoryTyZI0l9Yd+KFm5AdH7 
         nWQw== 
ARC-Authentication-Results: i=1; mx.google.com; ←  送信ドメイン認証の結果
       dkim=pass header.i=@email.microsoftemail.com header.s=102420140131 header.b=”SPJfF/EX”; 
       spf=pass (google.com: domain of bounce-866153_html-1550876323-5815401-123706-132@bounce.e-mail.microsoft.com designates 66.231.85.13 as permitted sender) smtp.mailfrom=bounce-866153_HTML-1550876323-5815401-123706-132@bounce.e-mail.microsoft.com; 
       dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=microsoft.com 
Return-Path: <bounce-866153_HTML-1550876323-5815401-123706-132@bounce.e-mail.microsoft.com> ← 宛先にメールが届かなかった場合に、そのメールが送り返されるメールアドレスです。 
Received: from mta7.email.microsoftemail.com (mta7.email.microsoftemail.com. [66.231.85.13]) 
        by mx.google.com with ESMTPS id z200si592272jab.77.2018.12.20.18.35.27 
        for <to_mail@gmail.com> 
        (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); 
        Thu, 20 Dec 2018 18:35:27 -0800 (PST) 

送信メールサーバー : mta7.email.microsoftemail.com
メールサーバーのグローバルIP : 66.231.85.13
by 受信したホストの情報 : mx.google.com ← gmail なので Google になっています。
for オリジナルの宛先メールアドレス : to_mail@gmail.com

Received-SPF: pass (google.com: domain of bounce-866153_html-1550876323-5815401-123706-132@bounce.e-mail.microsoft.com designates 66.231.85.13 as permitted sender) client-ip=66.231.85.13; 
Authentication-Results: mx.google.com; 
       dkim=pass header.i=@email.microsoftemail.com header.s=102420140131 header.b=”SPJfF/EX”; 
       spf=pass (google.com: domain of bounce-866153_html-1550876323-5815401-123706-132@bounce.e-mail.microsoft.com designates 66.231.85.13 as permitted sender) smtp.mailfrom=bounce-866153_HTML-1550876323-5815401-123706-132@bounce.e-mail.microsoft.com; 
       dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=microsoft.com 
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; s=102420140131; d=email.microsoftemail.com; h=From:To:Subject:Date:List-Unsubscribe:MIME-Version:Reply-To:List-ID: Message-ID:Content-Type:Content-Transfer-Encoding; bh=gEVXMUmka3Uu0sPHp5vGBek0JPV/QJY40yWhVGT7Ee8=; b=SPJfF/EXyxfvuW2AvzuvINxoMluRS9N9kpEYURBBzrnER7lRNfzZeo3M6J10R4L5fmnvJAY9uaQC 
   K7sh8/j9/mSyHtBnE7hK6n7l1mTpaZn1eNWfWKERhgkN6CexKo+bJ/HTHL2FzFAepSRL5mSUecYF 
   uzGG4K5ONBLqkOb+KcA= 
Received: by mta7.email.microsoftemail.com id h3h8mu2fmd4h for <xxxx@gmail.com>; Fri, 21 Dec 2018 02:35:13 +0000 (envelope-from <bounce-866153_HTML-1550876323-5815401-123706-132@bounce.e-mail.microsoft.com>) ← 一番下の「Received」ですが、その上の「Received: from」を確認します。 

From: Microsoft <microsoft@e-mail.microsoft.com>  ← 表示上の差出人のメールアドレス。詐称することが可能です。
To: <to_mail@gmail.com> ←  宛先メールアドレスです。
Subject: 【Windows Server 2008/R2 サポート終了まで、およそ 1 年】今こそ Azure へ移行をご検討ください [Microsoft] 
Date: Thu, 20 Dec 2018 20:35:13 -0600 
List-Unsubscribe: <mailto:leave-fcae1c767365017e1a4c342838-fdf7157570640c7a73177276-fe9711787461007d74-fecc15727663047b-ff69157377@leave.email.microsoftemail.com> 
MIME-Version: 1.0 
Reply-To: Microsoft <reply-fe9711787461007d74-866153_HTML-1550876323-123706-132@email.microsoftemail.com> 
List-ID: <96540.xt.local> 
X-CSA-Complaints: whitelistcomplaints@eco.de 
x-job: 123706_5815401 
Message-ID: <c4cb0232-ae5a-4e57-a0f0-8ab87b6ab7c9@ind1s01mta1034.xt.local> 
Feedback-ID: 123706:5815401:66.231.85.13:sfmktgcld 
Content-Type: text/html; charset=”iso-2022-jp” 
Content-Transfer-Encoding: 7bit 
 
 
<html lang=”ja”> 

 
<meta http-equiv=”Content-Type” content=”text/html; charset=shift_jis”> 
 

 

メールメッセージを処理する MTA(Mail Transfer Agent)は、メールを処理するとメッセージの先頭に「Received」フィールドを追加します。

「Received: from」が多数ある場合は、一番下の「Received: from」を確認します。

メールは多数の経路(多数のメールサーバーを経由して届く)を経て届きますが、メールサーバーを経由するたびに、上に「Received: from」が追加されていきます。

逆に一番上の「Received: from」は、自身のメールサーバーになります。

上のメールヘッダーの場合は「Received: from」が 1 つしかなく Gmail を利用しているため、mta7.email.microsoftemail.com から mx.google.com へダイレクトにメールが送信されていることが分かります。

 

 

Recieved フィールド

■from

送信するメールサーバーのホスト名(ドメイン名、DNS 名)が指定されます。

【例】

  • Received: from mta7.email.microsoftemail.com ← メールサーバーの mta7.email.microsoftemail.com から送信されています。

 

ほとんどの MTA(Mail Transfer Agent、メール転送エージェント)は、ホスト名(ドメイン名、DNS 名)の後に、「()、カッコ」の中に追加情報を加えます。

MTA が TCP 接続後に向こう側のホストの IP アドレスを「[]、カギ括弧」に追加し、その IP アドレスを逆引きしたホスト名(ドメイン名、DNS 名)を入れます。

【例】

  • mta7.email.microsoftemail.com (mta7.email.microsoftemail.com. [66.231.85.13]) 

メールサーバーの mta7.email.microsoftemail.com の IP アドレスは「66.231.85.13」で、この「66.231.85.13」を逆引きすると「mta7.email.microsoftemail.com.」になります。

 

上記の仕様により、メール送信者が詐称(スプーフィング、spoofing)しているかどうか、スパムメールかどうか判断しやすくなります。

 

  • spoof ← なりすまし、いたずら、悪ふざけ、など。

 

 

【例】

mail.example.com (mail.test.edu. [123.123.123.123]) 

  • メールの表示上のメール送信元ホスト名 ← mail.example.com
  • メール送信元ホストの IP アドレス ← 123.123.123.123。これは TCP 接続した向こう側の IP アドレスだけに詐称できない。
  • IP アドレスを逆引きした FQDN 名(ホスト名) ← mail.test.edu

 

 

 

■by

このフィールドは、メールを受信するサーバーが指定されます。

【例】

Received: from mta7.email.microsoftemail.com (mta7.email.microsoftemail.com. [66.231.85.13]) 
        by mx.google.com with ESMTPS id z200si592272jab.77.2018.12.20.18.35.27 
        for <to_mail@gmail.com> 
        (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); 
        Thu, 20 Dec 2018 18:35:27 -0800 (PST) 

 

ホスト名が mx.google.com のメールサーバーにメールが受信されています。

 

 

■with

このフィールドは2つの MTA 間でメッセージ転送に使用したメールプロトコルまたは通信プロトコルを指定しています。

RFC5321 では、有効な値は SMTP、ESMTP です。

RFC3848 では、有効な値は ESMTPA、ESMTPS、ESMTPSA、LMTP、LMTPA、LMTPS、LMTPSA です。

 

【例】

Received: from mta7.email.microsoftemail.com (mta7.email.microsoftemail.com. [66.231.85.13]) 
        by mx.google.com with ESMTPS id z200si592272jab.77.2018.12.20.18.35.27 
        for <to_mail@gmail.com> 
        (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); 
        Thu, 20 Dec 2018 18:35:27 -0800 (PST) 

 

例では「ESMTPS」となっていますが、ESMTP を使用していて、且つ STARTTLS でネゴシエートが成功すると「ESMTPS」になります。

 

STARTTLSについて解説

 

 

■ESMTP とは

  • ESMTP ← Extended SMTP、拡張 SMTP

SMTP と ESMTP の違い

  • SMTP ← 7 ビットの ASCII コードのみ転送
  • ESMTP ← 8 ビット転送(8 bit-MIME 転送)が可能、バイナリ転送が可能

 

 

■id

MTA がメッセージを処理する際に使用する一意の識別子が表示されます。

【例】

Received: from mta7.email.microsoftemail.com (mta7.email.microsoftemail.com. [66.231.85.13]) 
        by mx.google.com with ESMTPS id z200si592272jab.77.2018.12.20.18.35.27 
        for <to_mail@gmail.com> 
        (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); 
        Thu, 20 Dec 2018 18:35:27 -0800 (PST) 

 

この id は MTA のログ(メールサーバーのログ、/var/log/maillog)にも使用されるので、後でログを確認するのに便利です。

 

■メールヘッダー

Received: from xxxxx.com (xxxxxxxxxx.com. [54.xxx.xxx.xxx]) 
        by smtp.gmail.com with ESMTPSA id n67sm7045988pfn.22.2019.05.04.03.49.40 
        for <to_mail@gmail.com> 
        (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); 
        Sat, 04 May 2019 03:49:40 -0700 (PDT)

 

 

■MTA(メールサーバー)の /var/log/maillog

May  4 10:49:38 redhat7 postfix/smtp[6726]: smtp_stream_setup: maxtime=300 enable_deadline=0 
May  4 10:49:38 redhat7 postfix/smtp[6726]: < smtp.gmail.com[64.233.188.109]:587: 220 smtp.gmail.com ESMTP n67sm7045988pfn.22 – gsmtp 
May  4 10:49:38 redhat7 postfix/smtp[6726]: > smtp.gmail.com[64.233.188.109]:587: EHLO xxxxxxxxxx.com 
May  4 10:49:39 redhat7 postfix/smtp[6726]: < smtp.gmail.com[64.233.188.109]:587: 250-smtp.gmail.com at your service, [54.xxx.xxx.xxx] 
May  4 10:49:39 redhat7 postfix/smtp[6726]: < smtp.gmail.com[64.233.188.109]:587: 250-SIZE 35882577 
May  4 10:49:39 redhat7 postfix/smtp[6726]: < smtp.gmail.com[64.233.188.109]:587: 250-8BITMIME 
May  4 10:49:39 redhat7 postfix/smtp[6726]: < smtp.gmail.com[64.233.188.109]:587: 250-STARTTLS 
May  4 10:49:39 redhat7 postfix/smtp[6726]: < smtp.gmail.com[64.233.188.109]:587: 250-ENHANCEDSTATUSCODES 
May  4 10:49:39 redhat7 postfix/smtp[6726]: < smtp.gmail.com[64.233.188.109]:587: 250-PIPELINING 
May  4 10:49:39 redhat7 postfix/smtp[6726]: < smtp.gmail.com[64.233.188.109]:587: 250-CHUNKING 
May  4 10:49:39 redhat7 postfix/smtp[6726]: < smtp.gmail.com[64.233.188.109]:587: 250 SMTPUTF8 
May  4 10:49:39 redhat7 postfix/smtp[6726]: server features: 0x101f size 35882577

 

~ 省略 ~

 

May  4 10:49:40 redhat7 postfix/smtp[6726]: smtp_stream_setup: maxtime=300 enable_deadline=0 
May  4 10:49:40 redhat7 postfix/smtp[6726]: < smtp.gmail.com[64.233.188.109]:587: 250 2.1.0 OK n67sm7045988pfn.22 – gsmtp 
May  4 10:49:40 redhat7 postfix/smtp[6726]: smtp_stream_setup: maxtime=300 enable_deadline=0 
May  4 10:49:40 redhat7 postfix/smtp[6726]: < smtp.gmail.com[64.233.188.109]:587: 250 2.1.5 OK n67sm7045988pfn.22 – gsmtp 
May  4 10:49:40 redhat7 postfix/smtp[6726]: smtp_stream_setup: maxtime=120 enable_deadline=0 
May  4 10:49:40 redhat7 postfix/smtp[6726]: < smtp.gmail.com[64.233.188.109]:587: 354  Go ahead n67sm7045988pfn.22 – gsmtp 
May  4 10:49:40 redhat7 postfix/smtp[6726]: smtp_stream_setup: maxtime=180 enable_deadline=0 
May  4 10:49:40 redhat7 postfix/smtp[6726]: > smtp.gmail.com[64.233.188.109]:587: . 
May  4 10:49:40 redhat7 postfix/smtp[6726]: > smtp.gmail.com[64.233.188.109]:587: QUIT 
May  4 10:49:40 redhat7 postfix/smtp[6726]: smtp_stream_setup: maxtime=600 enable_deadline=0 
May  4 10:49:42 redhat7 postfix/smtp[6726]: < smtp.gmail.com[64.233.188.109]:587: 250 2.0.0 OK  1556966982 n67sm7045988pfn.22 – gsmtp 
May  4 10:49:42 redhat7 postfix/smtp[6726]: 8FB28C02438: to=<to_mail@gmail.com>, relay=smtp.gmail.com[64.233.188.109]:587, delay=3.5, delays=0.06/0.01/1.6/1.8, dsn=2.0.0, status=sent (250 2.0.0 OK  1556966982 n67sm7045988pfn.22 – gsmtp) 
May  4 10:49:42 redhat7 postfix/smtp[6726]: name_mask: resource 
May  4 10:49:42 redhat7 postfix/smtp[6726]: name_mask: software

 

 

 

■for

メール受信者のメールアドレスが表示されます。

【例】

Received: from mta7.email.microsoftemail.com (mta7.email.microsoftemail.com. [66.231.85.13]) 
        by mx.google.com with ESMTPS id z200si592272jab.77.2018.12.20.18.35.27 
        for <to_mail@gmail.com> 
        (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); 
        Thu, 20 Dec 2018 18:35:27 -0800 (PST) 

 

 

 

 

メールの仕組み

メールヘッダーで確認できる「送信元(From)」「送信先(To)」は、偽装することができます。

その一方、実際にネットワーク上で MTA(Mail Transfer Agent)がメールを送受信をする際に使われる「エンベロープ From」「エンベロープ To」があります。

  • エンベロープ From ← MAIL コマンドで指定した送信元メールアドレス
  • エンベロープ To ← RCTP コマンドで指定した送信先メールアドレス

メールはエンベロープの情報を見て送信されます。

メールが送信先のメールアドレスのメールボックスに保存された時点でエンベロープは不要になるので削除されます。

 

 

■メールの仕組み

メールの仕組み

上図のメールの仕組みを見ると分かりますが、メールは「エンベロープ」「メッセージ」に分かれており、「メッセージ」「To:(To フィールド)」「From:(From フィールド)」は自由に書き替えることができます。

 

「メッセージ」の方の「To:(To フィールド)」「From:(From: フィールド)」は、自由に書きかえることができますが、こっちは本当の「送信元メールアドレス」「送信先メールアドレス」ではなく、あくまでも「メッセージの一部」としての扱いになります。

郵便に例えると「To フィールド」を見て配達するのではなく「エンベロープ To」のアドレスに配達をするイメージです。

 

迷惑メールの場合は、業者の身元を隠すために「From:(From フィールド)」を偽装するので、メールヘッダーを確認しないと本当の送信元が分かりません。

 

 

 

グローバル IP で逆引きする

ドメインやホスト名は偽装することが出来るので、一番確実な方法は IP アドレスを調べることです。

C:\Users\xxxx>nslookup 66.231.85.13 
サーバー:  UnKnown 
Address:  192.168.0.1 
 
名前:    mta7.email.microsoftemail.com 
Address:  66.231.85.13 
 
 
C:\Users\xxxx>

 

 

以下のサイトでグローバル IP アドレスを調べることもできます。

 

CMAN ドメイン/IPアドレス サーチ【whois 情報検索】

https://www.cman.jp/network/support/ip.html

 

 

NetRange:       66.231.80.0 – 66.231.95.255 
CIDR:           66.231.80.0/20 (マスク範囲) 
NetName:        EXACT-IP-NET-1 
NetHandle:      NET-66-231-80-0-1 
Parent:         NET66 (NET-66-0-0-0-0) 
NetType:        Direct Assignment 
OriginAS:        
Organization:   ExactTarget, Inc. (EXACT-7) 
RegDate:        2006-09-05 
Updated:        2012-03-02 
Comment:        Please direct all comments or Questions to 
Comment:        hostmaster@exacttarget.com 
Ref:            https://rdap.arin.net/registry/ip/66.231.80.0 
 
 
OrgName:        ExactTarget, Inc. 
OrgId:          EXACT-7 
Address:        20 N Meridian St 
Address:        Suite 200 
City:           Indianapolis 
StateProv:      IN 
PostalCode:     46204 
Country:        US   → (アメリカ合衆国) 
RegDate:        2005-10-26 
Updated:        2018-01-24 
Ref:            https://rdap.arin.net/registry/entity/EXACT-7 
 
 
OrgTechHandle: IPMGR-ARIN 
OrgTechName:   IP-Mgr 
OrgTechPhone:  +1-317-423-3928  
OrgTechEmail:  IP-Mgr@exacttarget.com 
OrgTechRef:    https://rdap.arin.net/registry/entity/IPMGR-ARIN 
 
OrgNOCHandle: NOC1403-ARIN 
OrgNOCName:   Network Operations Center 
OrgNOCPhone:  +1-415-901-7000  
OrgNOCEmail:  neteng@salesforce.com 
OrgNOCRef:    https://rdap.arin.net/registry/entity/NOC1403-ARIN 
 
OrgTechHandle: NOC1403-ARIN 
OrgTechName:   Network Operations Center 
OrgTechPhone:  +1-415-901-7000  
OrgTechEmail:  neteng@salesforce.com 
OrgTechRef:    https://rdap.arin.net/registry/entity/NOC1403-ARIN 
 
OrgAbuseHandle: EXACT2-ARIN 
OrgAbuseName:   ExactTarget Abuse 
OrgAbusePhone:  +1-317-423-3928  
OrgAbuseEmail:  abuse@c.exacttarget.com 
OrgAbuseRef:    https://rdap.arin.net/registry/entity/EXACT2-ARIN 
 
RNOCHandle: IPMGR-ARIN 
RNOCName:   IP-Mgr 
RNOCPhone:  +1-317-423-3928  
RNOCEmail:  IP-Mgr@exacttarget.com 
RNOCRef:    https://rdap.arin.net/registry/entity/IPMGR-ARIN 
 
RTechHandle: IPMGR-ARIN 
RTechName:   IP-Mgr 
RTechPhone:  +1-317-423-3928  
RTechEmail:  IP-Mgr@exacttarget.com 
RTechRef:    https://rdap.arin.net/registry/entity/IPMGR-ARIN 
 
RAbuseHandle: ETA19-ARIN 
RAbuseName:   Exact Target Abuse 
RAbusePhone:  +1-317-423-3928  
RAbuseEmail:  abuse@exacttarget.com 
RAbuseRef:    https://rdap.arin.net/registry/entity/ETA19-ARIN 

 

 

参考サイト

SMTP(Simple Mail Transfer Protocol)~後編

https://www.atmarkit.co.jp/ait/articles/0105/18/news002.html

 

 

 

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

AlphaOmega Captcha Medica  –  What Do You See?
     
 

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください