【メール入門 第11回】メールのトラブルシュート ― 「届かない」の切り分け手順、よくあるエラー、迷惑メールフォルダーの原因

メールサーバー
スポンサーリンク
スポンサーリンク

「メールが届かないんですけど」

メールの問い合わせで一番多いのが、これです。でも「届かない」の中身は、エラーメールが返ってきた、何も返ってこない、迷惑メールフォルダーに入っていた、遅れて届いた……とさまざまです。

第11回では、第1回から第10回までの知識を使って、「届かない」を切り分ける手順と、よくあるエラーの読み方をまとめます。送った側から順にたどり、止まった場所を突き止めましょう。


「届かない」の切り分け

症状を固めた後、送信側のキュー・ログを見て、相手が250で受け付けていなければDNS(MX・SPF・DKIM・DMARC・PTR)と経路(ポート・TLS)を調べ、受け付けていれば受信側(拒否・迷惑メールフォルダー・隔離)を相手の管理者に時刻・キューID・Message-IDを伝えて調べてもらうことを示す図
段階確認することコマンド・画面の例分かること
0 症状を固める誰から誰へ、いつから、全員か一部か、バウンスの有無と文言バウンス(NDR)の本文、受信者への聞き取り送信側の問題か受信側の問題か
1 送信側のキュー・ログキューに残っていないか、ログの status=・dsn=postqueue -p、grep キューID /var/log/maillog、Microsoft 365 は Get-MessageTraceV2相手に渡せたか、どの応答で止まったか
2 DNS宛先の MX、自社の SPF・DKIM・DMARC、送信 IP の PTRdig MX・dig TXT・dig -x、Resolve-DnsName -Type MX/TXT/PTR配送先の誤り、認証の設定の誤り
3 経路ポートの疎通、STARTTLS と証明書、MTA-STSnc -vz、openssl s_client -starttls smtp、Test-NetConnection -Portファイアウォールや25番の遮断、TLS の失敗
4 受信側拒否の応答、迷惑メールフォルダー、隔離相手の管理者へ時刻・キューID・Message-ID を伝えて調べてもらうフィルター、評判、容量
  • バウンスがあれば、応答コードと拡張ステータスコード(第2回)で、どの段階で止まったかの見当が付く
  • バウンスが無いのに届かないときは、送信側のログで相手が250で受け付けたかを確かめる。受け付けていれば、そこから先は受信側の迷惑メールの判定や振り分けを疑う

ポイント
相手が250を返したかどうかで、調べる場所が送信側と受信側に分かれる。


エラーは「どの段階で返ったか」で読む

エラーの文言を1つずつ覚えるより、SMTPのどの段階で返ったかを見るほうが、原因の見当が早く付きます(SMTPの流れは第2回)。

接続の段階ではタイムアウト・Connection refused・DNSBLによる554、EHLO・STARTTLSでは530 5.7.0とTLSのエラー、AUTHでは535、RCPT TOではRelay access denied・User unknown・容量超過、end of DATAではDMARCや要件による550 5.7.26・5.7.509・5.7.515と量・苦情による421、250の後は迷惑メールフォルダー・隔離で送信側ログはstatus=sentになることを示す図

Postfixのログなら、(in reply to RCPT TO command)や(in reply to end of DATA command)が段階を教えてくれます(第8回)。1桁目が4なら送信側が再送し、5なら直すまで届きません。


よくあるエラー① 接続・認証・リレー

応答の例意味よくある原因対処
554 5.7.1 <宛先>: Relay access denied(550 を返すサーバーもある。Microsoft 365 は 550 5.7.64 TenantAttribution)中継が許可されていない機器の IP がリレーの許可に無い、宛先がそのサーバーの担当外サーバー側で許可する(Postfix は mynetworks)。Microsoft 365 はコネクターの IP・証明書を直す
535 5.7.8(Microsoft 365 は 535 5.7.3、535 5.7.139)認証の資格情報が無効パスワードの誤り、SMTP AUTH の無効化、セキュリティの既定値や条件付きアクセスで Basic 認証を禁止資格情報と SmtpClientAuthenticationDisabled を確認し、OAuth へ移す
530 5.7.0 Must issue a STARTTLS command firstSTARTTLS が必須機器の TLS の設定がオフSTARTTLS を有効にする(TLS 1.2 以上)
554 5.7.1 Service unavailable; Client host [IP] blocked using …送信 IP が DNSBL に載っている送信 IP の評判、動的 IP の範囲からの直接送信原因を止めてから各リストの解除手続きをする(第7回)
452 4.2.2/552 5.2.2受信者のメールボックスが容量超過相手の容量相手に伝える。4xx なら送信側が再送する
Connection refused/タイムアウトSMTP の前の TCP で失敗サービスの停止、ポートの誤り、ファイアウォール、25番の遮断nc -vz・Test-NetConnection で経路を確かめる(第9回)

拡張ステータスコード(RFC 3463、登録簿はRFC 5248)は、事業者が独自の番号を追加しているため、文言と各社の説明で確かめます。


よくあるエラー② 送信ドメイン認証・送信者ガイドライン

応答の例返す相手意味対処
550 5.7.26Gmail認証されていないメールを、送信ドメインの DMARC ポリシーにより拒否SPF か DKIM を From のドメインとそろえて合格させる
550 5.7.509Microsoft 365(企業向け)DMARC に不合格で、送信ドメインが p=reject同上
550 5.7.515Outlook.com(個人向け)大量送信者の認証の要件を満たさない(SPF・DKIM・DMARC)3つとも設定し、From とそろえる
421 4.7.27/4.7.30/4.7.32GmailSPF・DKIM が不合格、または From が認証したドメインとそろわず、一時的に制限放置すると 5xx の拒否に変わる。認証をそろえる
550 5.7.25/451 4.7.23Gmail送信 IP に PTR が無い、または PTR の正引きが送信 IP と一致しないPTR と A をそろえる(第7回)
421 4.7.28Gmail送信の量や苦情が急に増え、一時的に制限送信量を下げ、Postmaster Tools で迷惑メール率を確かめる
421 4.7.0 [TSS04] などYahoo送信量や苦情により一時的に保留送信量を下げ、Sender Hub の要件を確かめる

Gmailは2025年11月から、ガイドラインを満たさない大量送信(1日5,000通以上)への一時的・恒久的な拒否を強めています。Microsoft(Outlook.com)は2025年5月から、要件を満たさない大量送信を550 5.7.515で拒否しています。要件は第5回・第6回と、連載「DNS入門」第6回を参照してください。

4xxの一時的な制限を放置すると、5xxの拒否に変わることがあります。一時エラーのうちに直しましょう。


vCenterの通知メールのエラー

第10回で扱ったvCenterの通知メールは、届かないときの調べ方にも癖があります。

vpxd(アラーム、vpxd.log)から内部のSendmail 127.0.0.1(/var/log/vmware/messages)を経て社内リレーかMicrosoft 365へ送り、Connection refusedなら内部のSendmailが停止、554 5.7.1 Relay access deniedならリレーのIPの許可不足、AUTHの失敗(LOGINのみ)なら相手がOAuthだけであることと、dsn=2.0.0 stat=Sentなら成功であることを示す図
  • 送信の流れは、vpxd(アラームのアクション)→ 内部のSendmail(127.0.0.1)→ 社内リレーまたはメールサーバー。アクションが動いたかは/var/log/vmware/vpxd/vpxd.log、Sendmailが送れたかは/var/log/vmware/messagesで見る
  • Sendmailは1通につきfrom=・STARTTLS=・to=の行を出す。relay=が外部のサーバーになっているto=の行のdsn=とstat=が本当の結果
(正常)  to=<ops@corp.example.jp>, … relay=mail.corp.example.jp. [192.0.2.25], dsn=2.0.0, stat=Sent (Ok: queued as 4cXyZ1abcd)
(一時)  to=<ops@corp.example.jp>, … dsn=4.0.0, stat=Deferred: Connection refused by [127.0.0.1]
(拒否)  to=<ops@example.com>, … relay=mail.corp.example.jp. [192.0.2.25], dsn=5.7.1, stat=Service unavailable
(相手のPostfix)NOQUEUE: reject: RCPT from unknown[192.0.2.20]: 554 5.7.1 <ops@example.com>: Relay access denied; from=<vcsa-alert@corp.example.jp> to=<ops@example.com> proto=ESMTP helo=<vcsa01.corp.example.jp>
(OAuth が必要な相手)AUTH=client, available mechanisms=LOGIN do not fulfill requirements
(抜粋)
  • Deferredは再送されるが、5.x.xは再送されない
  • 127.0.0.1へのConnection refusedは内部のSendmailの停止、リレー拒否はリレー側の許可の不足、最後の行は相手がBasic認証を受け付けない場合(Broadcom KB 428447)
  • vCenter自身から、ncかcurl -v telnet://宛先:25で試す(第9回)

時刻とキューIDで、vCenterとリレーの両側のログを突き合わせます。


迷惑メールフォルダーに入る原因

エラーは返らないのに「届いていない」と言われたら、迷惑メールフォルダーを疑います。

原因見分け方(受信側のヘッダーなど)対処
認証の失敗・From とのずれAuthentication-Results の spf=・dkim=・dmarc=。Microsoft 365 は compauth=送信 IP を SPF に入れ、DKIM で署名し、From とそろえる(第5回)
送信 IP・ドメインの評判Microsoft 365 は X-Forefront-Antispam-Report の SCL、Gmail は Postmaster Tools苦情を減らし、送信量を少しずつ増やす(第7回)
大量送信の作法の不足List-Unsubscribe の有無、迷惑メールの報告率ワンクリック登録解除(RFC 8058)を付け、2日以内に反映
逆引きが無い・一致しないReceived に unknown や一致しない名前PTR と A をそろえる
本文・URL・添付短縮 URL、他社ドメインのリンク、実行ファイルやマクロの添付本文とリンクを見直す。ファイルは共有リンクで渡す
受信者側の設定受信者の迷惑メールのルール、隔離のポリシー「迷惑メールではない」と報告してもらう。許可リストは最後の手段
Authentication-Resultsのdmarc=failやcompauth=failは認証の失敗・Fromとのずれ、X-Forefront-Antispam-ReportのSCL:5はMicrosoft 365の迷惑メール判定、Received: from unknown (HELO localhost)は逆引きが無い・EHLOがlocalhost、List-Unsubscribeが無いのは大量送信の作法の不足、短縮URLやマクロ付きの添付は本文の問題を示し、相手は250で受け付けた後に判定しているので送信側のログはstatus=sentで正常に見えることを示す図

迷惑メールフォルダーへの振り分けは、相手が250で受け付けた後の判定です。送信側のログは正常に見えるので、受信者から届いたメールのヘッダーを送ってもらって読むのが近道です(ヘッダーの見方は第3回、Authentication-Resultsの読み方は第6回)。


原因と確認コマンドの対応表

原因見える症状確認コマンド(Linux / PowerShell)参照
送信側で止まっているキューに溜まるpostqueue -p、journalctl -u postfix / Get-MessageTraceV2(Microsoft 365)第8回
MX の誤り・MX が無い配送先が見つからないdig MX 宛先ドメイン / Resolve-DnsName 宛先ドメイン -Type MX第1回、連載「DNS入門」第6回
SPF・DKIM・DMARC5.7.26、5.7.509、迷惑メールdig TXT _dmarc.example.jp、dig TXT s1._domainkey.example.jp / Resolve-DnsName _dmarc.example.jp -Type TXT第5回・第6回
PTR が無い・一致しない5.7.25、迷惑メールdig -x 送信IP / Resolve-DnsName 送信IP第7回
ポートの遮断タイムアウト、Connection refusednc -vz 相手 25 / Test-NetConnection 相手 -Port 25第4回・第9回
TLS・証明書530 5.7.0、TLS のエラーopenssl s_client -connect 相手:587 -starttls smtp / SslStream のスクリプト第4回・第9回、連載「証明書入門」
DNSBL への掲載554 5.7.1 … blocked usingdig 25.113.0.203.zen.spamhaus.org / Resolve-DnsName 25.113.0.203.zen.spamhaus.org第7回
認証の失敗535 5.7.8、535 5.7.3第9回の手順で AUTH を試す / (Get-CASMailbox 名前).SmtpClientAuthenticationDisabled第4回・第10回

連載の早見表

困ったときに戻る場所を、連載全体でまとめておきます。

回テーマ押さえること使う場面
第1回〜第2回全体像、SMTP のやり取りMUA・MSA・MTA・MDA、MX、4xx は再送・5xx は恒久、拡張ステータスコードバウンスの読み方(第12回の問4)
第3回メッセージの構造エンベロープとヘッダー、Received を下から読む、MIMEヘッダーの調査
第4回ポートと暗号化・認証25・587・465、STARTTLS の弱点と MTA-STS、OAuth 2.0送信の設定、Basic 認証の廃止(問1)
第5回〜第6回送信ドメイン認証SPF・DKIM・DMARC と From とのアラインメント、送信者ガイドラインDMARC の強化(問2)
第7回迷惑メール対策と配信PTR、DNSBL、ワンクリック登録解除、苦情率大量送信(問3)
第8回〜第9回MTA の運用、調べ方オープンリレーの禁止、キューとログ、dig・openssl・Resolve-DnsNameすべての調査
第10回クラウドMicrosoft 365 の4方式、SES、25番の制限、機器の通知通知の経路(問1)、移行(問5)
第11回トラブルシュート送信側 → DNS → 経路 → 受信側の順、エラーの読み方障害対応(問4)

どの回も、「いま見ているのはエンベロープかヘッダーか」「誰が誰に、どの経路で渡しているか」を意識すると理解しやすくなります。

参考資料

  • RFC:5321(SMTP)、5322(メッセージ形式)、5598(アーキテクチャ)、6409(サブミッション)、8314(465)、3207(STARTTLS)、4954(AUTH)、3463・5248・7372(拡張ステータスコード)、7208(SPF)、6376(DKIM)、9989・9990・9991(DMARC)、8617(ARC)、8461・8460(MTA-STS・TLS-RPT)、7672(DANE)、8058(ワンクリック登録解除)、6531(SMTPUTF8)
  • 送信者ガイドライン:Gmailのメール送信者のガイドラインとFAQ、Yahoo Sender Hubのベストプラクティス、MicrosoftのOutlook.com大量送信者の要件(2025年)、M3AAWGのベストプラクティス、JPAAWGの資料
  • 公式ドキュメント:Postfixのドキュメント(postfix.org)、Microsoft Learn(多機能デバイスやアプリからの送信、SMTP AUTH、High Volume Email、Exchange Onlineの制限、NDRの一覧)、Google Workspace管理者ヘルプ(SMTPリレー)、Amazon SES開発者ガイド、Broadcom TechDocs(vCenterのメール送信者の設定)とKB 428447

考えてみよう

  1. 「メールが届かない」という問い合わせを受けたら、最初に利用者から何を聞き取りますか。この記事の「0 症状を固める」を、自分の言葉で質問のリストにしてみましょう。
  2. 送信側のログはstatus=sentなのに、相手は「届いていない」と言います。次に何を確かめ、相手に何を頼みますか。
  3. 自社の送信サーバーのログに421 4.7.27が出始めました。放置するとどうなりますか。何から直しますか。

ヒント:この記事の切り分けの図、エラーの段階の図、迷惑メールフォルダーのヘッダーの図、「よくあるエラー②」の表が手がかりです。まずはdig TXT _dmarc.自社のドメイン(WindowsはResolve-DnsName _dmarc.自社のドメイン -Type TXT)を実行してみてください。


まとめ

  • 「届かない」は、まず症状を固める。誰から誰へ、いつから、バウンスの文言
  • 送信側のキュー・ログ → DNS → 経路 → 受信側の順にたどる。相手が250を返したかで分かれる
  • エラーはSMTPのどの段階で返ったかで読む。1桁目が4なら再送、5なら直すまで届かない
  • 認証のエラー(5.7.26・5.7.509・5.7.515)はFromとそろえる。4xxの制限を放置しない
  • vCenterはrelay=の行のdsn=とstat=が本当の結果
  • 迷惑メールフォルダーは250の後の判定。受信者からヘッダーを送ってもらう

次回はいよいよ最終回。これまでの知識を使って、メールの経路・認証・移行を要件から決める設計演習に取り組みます。


連載「メール入門」全12回

  1. メールが届くまで
  2. SMTPのやり取り
  3. メッセージの構造
  4. ポートと暗号化・認証
  5. 送信ドメイン認証 前編
  6. 送信ドメイン認証 後編
  7. 迷惑メール対策と配信
  8. MTAの運用
  9. コマンドで調べる
  10. クラウドと現代のメール
  11. メールのトラブルシュート(この記事)
  12. メールの設計演習

コメント

タイトルとURLをコピーしました