$30 off During Our Annual Pro Sale. View Details »

独自ドメインからのメール送信でDMARCエラーに悩まされた話

Avatar for T. Fujiba T. Fujiba
May 31, 2025
49

 独自ドメインからのメール送信でDMARCエラーに悩まされた話

ある日突然、私のメールが届かなくなりました。原因はDMARCエラーでした! このプレゼンテーションでは、独自ドメインからメールを確実に送信するための自分の個人的な苦労と、最終的な解決策を共有します。DMARC、SPF、DKIMの謎を解き明かし、アライメントの重要な概念について議論します。さらに、Geminiからの割と使える(そして時にはイライラする)アシスタンスについても触れます。

Avatar for T. Fujiba

T. Fujiba

May 31, 2025
Tweet

Transcript

  1. 【問題発生】ある日突然、メールが届かなくなった • メールの運用 ◦ 自身の独自ドメイン `fujiba.net` のメールアド レスを使用。 ◦ 受信メールはGmailに転送設定済み。

    ◦ 送信はmacOS標準メールアプリから、差出人を `fujiba.net` アドレスに設定。 • バウンス発生 ◦ 先月まで問題なかった月次のやりとり(本業)の メール返信がエラーに・・・ 「**550 5.7.1 Your message was rejected due to fujiba.net's DMARC policy.**」 ← めっちゃ雑にgeminiに投げた
  2. 雑な回答に長文を返すgemini ご提示いただいた状況とバウンスメール(配信失敗の通知メール)から判断すると、fujiba.net ドメインの DMARCポリシーが原因でメールが拒否されている可能性が高いです。 何が起こっているのか? バウンスメールには「This message was rejected due

    to [fujiba.net] domain's DMARC policy」と記載されてい ます。これは、受信側のメールサーバー(この場合は 737flight.com のサーバー)が、fujiba.net から送信され たと主張するメールが、fujiba.net ドメインのDMARC設定で許可されていない送信元から来ていると判断し、 拒否したことを意味します。 DMARCは、メールの送信元詐称(なりすまし)を防ぐための仕組みです。SPF(Sender Policy Framework) やDKIM(DomainKeys Identified Mail)といった技術と連携して機能します。 • SPF: そのドメインからのメール送信を許可するサーバーのIPアドレスなどを指定します。 • DKIM: 送信するメールに電子署名をつけ、受信側がその署名を検証することで、メールが改ざんさ れていないことや正規の送信元から送られたものであることを確認できるようにします。 • DMARC: SPFやDKIMの検証結果に基づいて、そのドメインからのメールをどのように扱うか(受 信者に届ける、迷惑メール扱いにする、拒否するなど)を定めたポリシーです。 今回のケースでは、あなたがメーラーで fujiba.net のアドレスを差出人としてメールを送信した際、そのメー ルが送信されたサーバーが、fujiba.net のSPFまたはDKIM設定で許可されていない、あるいは署名が正しくな かったため、DMARCポリシーに基づいて拒否されたと考えられます。 どうすれば良いか? この問題を解決するためには、fujiba.net ドメインのDNS設定(特にSPF、DKIM、DMARCレコード)を確認し、 必要に応じて修正する必要があります。 1. メール送信に使用しているSMTPサーバーを確認する: まず、あなたがメーラーで fujiba.net のメールを送信する際に設定している「送信サーバー (SMTPサーバー)」がどこのものかを確認してください。これは、あなたのインターネットプ ロバイダのものかもしれませんし、fujiba.net のドメインを取得した会社やレンタルサーバーの ものかもしれません。 2. fujiba.net のDNSレコード(SPF, DKIM, DMARC)を確認する: fujiba.net のドメイン管理画面(通常、ドメインを取得した会社やレンタルサーバーのコントロ ールパネル)にログインし、DNS設定を確認してください。 ◦ SPFレコード: 送信に使用しているSMTPサーバーが、fujiba.net のSPFレコードに含 まれているか確認します。含まれていない場合は、追加する必要があります。 ◦ DKIM設定: fujiba.net でDKIMが設定されているか確認します。設定されている場合、 正しく機能しているか確認が必要です。 ◦ DMARCレコード: fujiba.net のDMARCポリシーがどうなっているか確認します。ポ リシーが "p=quarantine" や "p=reject" になっていて、SPFやDKIMの検証に失敗した メールを隔離したり拒否したりする設定になっている可能性があります。 3. DNSレコードを修正する(必要に応じて): もしSPFレコードに送信サーバーの情報が含まれていない場合や、DKIM設定に問題がある場合 は、正しくなるように修正します。修正方法は、利用しているドメイン管理サービスによって異 なりますので、そちらのヘルプドキュメントを参照するか、サポートに問い合わせてください。 4. Gmailの「名前を付けてメールを送信」機能を利用する: Gmailで受信しているとのことですので、Gmailの「設定」->「アカウントとインポート」->「名 前を付けてメールを送信」の項目で fujiba.net のアドレスを追加し、Gmail経由で送信する方法も 検討できます。この場合、通常はGmailのSMTPサーバーを使用して送信することになります。 この設定を行う際には、fujiba.net の所有権を確認するための手続きが必要になり、SPFやDKIM の設定もGoogleのサーバーを許可するように調整が必要になることがあります。 どちらに問い合わせるべきか? • DNS設定(SPF, DKIM, DMARC)について不明な場合: fujiba.net のドメインを管理している会 社(ドメイン取得業者やレンタルサーバー会社)のサポートに問い合わせるのが最も適切です。 • メーラーの送信設定やSMTPサーバーについて不明な場合: ご利用のインターネットプロバイダ やメールサービス提供元のサポートに問い合わせるか、メーラーのヘルプドキュメントを参照し てください。 まずは、現在メール送信に使っているSMTPサーバーを確認し、その情報を持って fujiba.net のDNS設定 (特にSPF)を見直すことから始めるのが良いでしょう。
  3. DMARCとは何か?(メール認証の基礎) DMARC、SPF、DKIMの役割 • DMARC(Domain-based Message Authentication, Reporting & Conformance)は、メールの送信元なりすましを防 ぐための認証技術である。

    • SPF (Sender Policy Framework): ◦ ドメインのDNSに、そのドメインからのメール送信を許可するサーバーのIPアドレス等を公開する。 ◦ 受信側は、送信元IPが許可リストに含まれるか検証する。 • DKIM (DomainKeys Identified Mail): ◦ 送信メールに電子署名を付与し、メールの改ざんや送信元の詐称がないかを確認する。 • DMARC: ◦ SPFとDKIMの検証結果に基づき、認証に失敗したメールをどのように扱うか(受信、隔離、拒否など)をド メインのDNSにポリシーとして公開する。 fujiba.netからのメールが、何らかの理由で「なりすましの疑いがある」と判断され、そのポリシーに 従い拒否されたことを意味する
  4. バウンスした原因(送信メールヘッダの解析) • 送信経路: メールは smtp.gmail.com (GoogleのSMTPサーバー) を経由。 • 認証結果 (Authentication-Results:より):

    ◦ SPF: Pass (送信元: [自身のGmailアドレス]@gmail.com) ◦ DMARC: Fail (Fromヘッダー: fujiba.net) • DNS: SPFレコード「v=spf1 include:mailgun.org ~all」 →SPF認証はGoogleドメインでPassするも、DMARC認証はfujiba.net ドメインでFailしていた SPFレコードに、gmailの設定を入れてもダメ ← google workspaceじゃ ないとダメっぽ
  5. DMARCアライメントの重要性 • DMARC Failの核心: アライメントの失敗 ◦ DMARCは、From:ヘッダーのドメインと、SPF/DKIMで認証されたドメイン の一致(アライメント)を要求。 ◦ 今回:

    From:ヘッダー (fujiba.net) ≠ SPF認証ドメイン (@gmail.com) ◦ 原因: Gmailは経由だと、Return-PathがGmailアドレスに固定される ◦ DKIM署名も同様にGoogleドメインの鍵が使われ、アライメント不一致。
  6. DMARCパスするためのサービス選定 DMARCパスするためのMTA選びをGemini Deep Researchに任せる • トラシュースレのgeminiにDeep Researchへの依頼内容を書かせる • その内容をコピペして、Deep Researchで調査させる

    サービス名 DMARCアライメント方法 無料枠(通数/月、費用、20通 カバー可否) 最低有料プラン (通数/月、費用/ 月) カスタムReturn-Path/MAIL FROM設定(可否、必要 DNS) セットア ップ容易 性 (1-5) Square space DNS複 雑性 (1-5) 既存Mailgun転送 との互換性 Mailgun カスタムReturn-Path (送信ドメイン/サブドメイン、 トラッキングCNAMEが影響) 100通/日、無料、可 10,000通、$15 可、多くは暗黙的または CNAME経由 4 3 注意が必要(MX レコードの扱い) Mailtrap 自動カスタムReturn-Path 1,000通、無料、可 10,000通、$15 可、自動設定 5 3 可 Google Workspace ネイティブアライメント(送受信にWorkspace利用 時) なし(カスタムドメイン送信 不可) 1ユーザー、$6 (Business Starter) N/A (統合システム) 4 3 不可(MXレコー ド変更必須) SendGrid カスタムReturn-Path (ドメイン認証CNAME経由) 100通/日(60日間トライアル)、 無料、可 <50,000通、$19.95 可、CNAME 3 4 可 Postmark カスタムReturn-Path (CNAME: pm- bounces.domain.com) 100通、無料、可 10,000通、$15 可、CNAME 4 3 可 Amazon SES カスタムMAIL FROMサブドメイン (専用MX/SPFレ コード要) 3,000通 (EC2/Lambdaから、 初年のみ)、実質無料/極安、可 従量課金 可、サブドメインにMX+TXT 2 4 可
  7. 意外と使えないmacOS標準メール(とgeminiの回答) • macOSメールではMTAだけを使う設定ができない ◦ 受信メールアカウントに必ず紐付けが必要 ◦ なので使用頻度の低いアカウントの送信設定に紐づけて運用 ▪ そのメアドで送りたい時は一旦MTAを切り替えて送る(送信時に即時エラーになるので 早く気づける)

    • geminiは「gmailで設定したエイリアスがmacOSメールに降ってくる」と平 気で嘘を吐く ◦ 10年以上前に設定したmacOSメール側の設定の亡霊があったのでうっかり信じたorz ◦ そして頑なに、この言説を曲げない
  8. geminiたんとのトラシューで体感したこと • スクショペタペタで割とちゃんと読んでくれる ◦ 老眼にはつらいログもよく見るし、見落としそうなところも見つけてくれる • RFCなど体系だったものベースのものは適切に判断してくれる • 特定のプロダクトの話は割と嘘を混ぜてくる ◦

    gmailはお前のところのプロダクトやぞ? • 長く同じスレッドでやってると、疲れてくるのかおじいちゃんモードになる ◦ コンテキストがいっぱいになってきて、回答が遅くなる ◦ チャットの時系列がズレて、話が噛み合わなくなってくる • 英語サービスのサインアップなどもスクショ見せながらやれば楽 • 長々とやった後にブログ記事としてまとめさせるの割と良いかも • このプレゼンを書かせようとしたけどうまくいかなかったw