1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Outlookの仕分けルールで迷惑メールの処理とかDMARC/DKIM/SPFとかそういう話

1
Last updated at Posted at 2025-10-30

以下の件でお悩みの方に試してほしい

  • Outlook 迷惑メール対策 仕分けルール
  • 迷惑メール ドメイン 不規則
  • 使い捨てドメイン 捨てアド 対策
  • ドメイン名を頻繁に変えて繰り返し送ってくる迷惑メールへの対処法
  • 迷惑メール アドレスが毎回変わる 対策
  • 自分のメールアドレスから迷惑メール
  • Outlookで迷惑メールドメインが毎回違う対処法
  • Outlook 迷惑メール対策 VBA使わず アドイン使わず
  • Outlook DMARC DKIM SPF 認証
  • Outlook 迷惑メールオプション 使えない 役立たず ゴミ 誤検知
  • Outlook (new) ゴミ カス 出直してこい

作業環境・使用ツール

  • Windows11 (バージョン 24H2)
  • Microsoft® Outlook® for Microsoft 365 MSO (バージョン 2509 ビルド 16.0.19231.20138) 64 ビット
  • Copilot (相談相手)

歴戦のナレッジ達

敵(敵じゃない場合もある)

dmarc=fail
dmarc=none
dmarc=quarantine
dmarc=reject
dkim=fail
dkim=neutral
dkim=none
spf=fail
spf=softfail
spf=neutral
spf=none

Outlookの仕分けルールで迷惑メールを処理

まずは手順を殴り書きで説明します。解説・考察は後ほど。

① ファイル > 仕分けルールと通知の管理 > 新しい仕分けルール  をクリック。
image.png

②「受信メッセージにルールを適用する」 を選択し、次へ。
image.png

③条件の指定。「メッセージヘッダーに特定の文字が含まれる場合」に✓を入れ、「特定の文字」を選択。
image.png

④以下の文字列を追加し、OK。次へ。

dmarc=fail
dmarc=none
dmarc=quarantine
dmarc=reject
dkim=fail
dkim=neutral
dkim=none
spf=fail
spf=softfail
spf=neutral
spf=none

image.png

⑤条件に一致した場合の処理を選択。ここでは分類項目を割り当てているが、任意の処理を設定してよい。
image.png

⑥例外条件の選択。「メッセージヘッダーに特定の文字が含まれる場合」に✓を入れ、「特定の文字」を選択。
image.png

⑦以下の文字列を追加し、OK。次へ。

dmarc=pass
dkim=pass
spf=pass

image.png
image.png

⑧仕分けルールに任意の名前を入力します。ルール作成後直後に過去のメールにも適用したい場合は「受信トレイ内のメッセージに仕分けルールを適用する」に✓を入れます。完了。
image.png

⑨適用後、受信ボックスへ届いた迷惑メールに分類項目が付与されます。画像では検索フォルダーにて⑤で設定した分類項目にて抽出しています。
image.png

投稿に至った背景

会社から貸与されたメールアドレスを使って6年ほど経ちましたが、いよいよそのメールアドレスにも3か月ほど前から迷惑メールがちらほら届くようになりました。Outlookの標準機能である迷惑メールオプションを使用しても、いまいち機能しなかったのでどうにか別の手段で迷惑メールを可視化できないかと考えました。その結果、仕分けルールで迷惑メールを分類する方法にたどり着きました。簡単にググった限りでは同じことをしている変態は見つからなかったので、投稿してみようかなと思いました。
断っておきたいのが、私自身はセキュリティの専門家ではなく、セキュリティ絡みの知識や技術に対してそう達者なものではございません。これから書く内容にも詰めの甘さや間違った知識を記載する可能性がありますが、ご容赦いただけると幸いです。

解説

DMARC/DKIM/SPF

DMARC/DKIM/SPFとは送信ドメイン認証と呼ばれるものです。メールが送信されてから受信されるまでにメールの送信元や各認証が行われ、その結果がメッセージヘッダー(インターネットヘッダーとも言う)に格納されます。
Outlookではメールを開き、ファイル>プロパティ>インターネットヘッダーから見ることができます。仕分けルールで言われているメッセージヘッダーとはこの部分を指しているようです。(多分)
image.png

ヘッダー内ではDMARC/DKIM/SPFのような各認証の検証結果となる値を確認することができます。
X-Spam-Statusもおまけで記載しています。

返り値 DMARC DKIM SPF X-Spam-Status
pass ✅ 認証成功 ✅ 署名有効 ✅ IP一致 ―
fail ❌ 認証失敗 ❌ 署名無効 ❌ IP不一致 ―
softfail ― ― ⚠️ 警告レベル ―
neutral ― ⚠️ 判定不能 ⚠️ 判定不能 ―
none ⚠️ ポリシーなし ⚠️ 署名なし ⚠️ レコードなし ―
quarantine 🚫 隔離 ― ― ―
reject 🚫 拒否 ― ― ―
temperror ⚠️ 一時エラー ⚠️ 一時エラー ⚠️ 一時エラー ―
permerror ⚠️ 永続エラー ⚠️ 永続エラー ⚠️ 永続エラー ―
Yes ― ― ― 🚫 スパム判定
No ― ― ― ✅ 通常メール

表はCopilotが作ってくれました。
先述の仕分けルールの設定では、pass以外のパラメータを仕分け対象にしています。
temperror、permerrorを含めていないのは考察にて。

考察

捕捉率

当作業環境であるOutlookにて検証を行いました。
受信トレイには6062件あり、それらすべてに仕分けルールを適用したところ177件ヒットしました。ざっと見た感じ、概ね狙い打ちたい迷惑メールに設定した分類項目がラベリングされています。とは言え、受信した迷惑メールを全件集計した訳ではなく、誤検出が全くなかったかというと、その可能性は否定できません。
そして先述の仕分けルールの設定だとDMARC/DKIM/SPFのパラメータを一緒くたに設定した関係で、どの認証が引っかかったのか不明です。
そこで、DMARCとDKIMとSPFでそれぞれのパラメータに細分化した仕分けルールを作成し、ヒット数の検証を行いました。ついでにX-Spam-Statusも。
その結果をまとめたのが以下の表です。
調べてみて判明したのが、大抵の迷惑メールはspf=noneを含んでいる傾向にあるということです。

- DMARC DKIM SPF X-Spam-Status
検出
パラメータ
dmarc=fail
dmarc=none
dmarc=quarantine
dmarc=reject
dkim=fail
dkim=neutral
dkim=none
spf=fail
spf=softfail
spf=neutral
spf=none
X-Spam-Status: Yes
検出件数 88 88 174 227

全条件で仕分けした際は177件であり、そのうちの174件はspf=noneを含んでいました。
では残りの3件はどうだったかというと、spf=noneは含まれていなかったが、dmarc=none・dkim=noneは含まれていました。そしてその3件も目視の確認にて迷惑メールであると判断できる内容でした。
dmarc=none・dkim=none・spf=noneのスリーアウト制として、アウト数が多いほど迷惑メールであるという見方もできるかもしれません。

DMARC/DKIMの認証結果は必ずしもメッセージヘッダーに含まれている訳ではない

大抵の迷惑メールはspf=noneが含まれていることが分かりました。
ではDMARC/DKIM認証とSPF認証でどうしてここまで検出件数に差がついたか。
それはDMARC/DKIMの認証結果が含まれていないことが原因でした。dmarc=noneどころかdmarc=passの文言もなく、仕分けルールに引っかからなくて当然の状態でした。
賢人Copilotは以下のように述べています。

DKIMパラメータがないメールの主な理由
1. 送信ドメインがDKIMを設定していない
最も一般的な理由です。

正規の送信者であっても、DKIMを導入していなければ署名は付きません。

特に小規模な組織や古いシステムでは未対応のこともあります。

2. なりすましメールで、DKIM署名を偽装できない
DKIMは秘密鍵で署名し、受信側が公開鍵で検証します。

なりすまし送信者は正規ドメインの秘密鍵を持っていないため、DKIM署名を付けられません。

この場合、DKIMが「fail」ではなく「none」になることが多いです(署名自体がないため)。

3. 中継・転送中に署名が削除された
メール転送やウイルスチェックなどでヘッダーが書き換えられると、DKIM署名が無効になるか削除されることがあります。

ただし、通常はDKIM=failやDKIM=temperrorなどの結果が残ります。

4. メールがプレーンテキストで送信され、署名が省略された
一部の古いシステムや簡易通知メールでは、意図的にDKIM署名を省略することもあります。

すまん。俺にはさっぱりだ。
image.png

信頼できる送信元でもDMARC/DKIMの認証がpassにならないケースがある

当方がいるPC環境ではMicrosoft 365 Defender for Businessを採用しており、検出されたインシデントがあればメールが通知されます。
そのメール(defender-noreply@microsoft.com)がdmarc=none・dkim=noneのパラメータを含んでいました。
奇妙なのがすべてのメールが検出されているのではなく、一部の通知だけが認証に失敗していました。
見た感じ同様のテンプレートが使われており、Microsoft 365 DefenderのWebコンソールでも誤検知メールの内容のインシデントが確認できました。

Copilot、これはどういうことだい?

Microsoft 365 Defenderからのメールでも、DKIMやDMARC認証が「pass」でないことがありますが、これは必ずしもなりすましではなく、メール転送・設定不備・サブドメイン利用などの技術的要因によるものです。

🔍 考えられる原因と背景
1. メール転送や中継による認証失敗
メールが 他のサーバーを経由して転送 された場合、元の署名が破損したり、SPFが一致しなくなることがあります。

特にDKIMは、メール本文やヘッダーが少しでも変更されると署名が無効になります。

2. Microsoft側の送信ドメインが複数ある
Microsoft 365 Defenderは、通知メールを 複数のサブドメインやサービス経由で送信 することがあります(例:alerts.microsoft.com、protection.outlook.comなど)。

これらのドメインに対して DKIMやDMARCが未設定または整合性が取れていない 場合、認証がfailやnoneになることがあります。

3. DMARCのアライメント(整合性)失敗
DMARCは、SPF/DKIMの認証結果と「Header-From」のドメインが一致しているかをチェックします。

たとえSPFやDKIMがpassでも、Fromアドレスが別ドメインだとDMARCはfailになります。

4. Microsoftの一部サービスがDKIM未対応のケース
Microsoft 365の一部テナントやサービスでは、既定でDKIMが無効になっていることがあります。

管理者が明示的に設定しない限り、署名が付かないこともあります。

5. 大量送信や通知メールの特殊処理
Defenderの通知メールは、セキュリティイベントに応じて自動生成されるため、通常のメールとは異なるルートや設定が使われることがあります。

その結果、一部のメールで認証が通らないことがあります。

image.png

dmarc=none dkim=none spf=noneとdmarc=pass dkim=pass spf=passの両方がヘッダーに含まれていることがある

image.pngimage.pngimage.png

迷惑メールでも正規のメールでも起こり得る状態です。
だから例外処理でdmarc=pass・dkim=pass・spf=passを入れるんですね~。
この辺はARC-Authentication-Resultsとかが原因だったりするみたい。認証結果を継承してるとかそんなん。
オレの手には負えない。
仕分けルールではこの辺の処理を巧みに行うことが難しいです。。。

spf=temperrorやspf=permerrorのようなパラメータを含むメール

信頼できる企業から届く通知等に含まれていました。ざっと見た感じ自動送信メール・一括送信メールに含まれているようです。ですのでこのパラメータを仕分けしてしまうと誤検知率が上がってしまうんじゃないかと思っています。

差出人と宛先のメールアドレスが同じ迷惑メール

迷惑メールの中には差出人と宛先のメールアドレスが同じというトリッキーな迷惑メールがあります。自分が使っているアドレスから迷惑メールが来るわけです。メールアカウントが乗っ取られていなくても、どうたらこうたらすれば送れるっちゃ送れたりします。意外とこのタイプの迷惑メールに苦慮する方も見受けられます。

しかし、同一メールサーバー内で配送されたメールにはDMARC/DKIM/SPFの認証結果は省略されるのが一般的のようです。メールアカウントを乗っ取られているなら話は別ですが、この記事で紹介している仕分けルールならこの迷惑メールの処理は容易かったです。今んとこ。

X-Spam-Statusという存在

先ほどからちょいちょい出てくるX-Spam-Statusについてです。
これはこれでスパムであるかどうかを判定しているパラメータです。
調べてみたところメールサーバーで稼働させるスパムフィルターの一つのSpamAssassinが付けるパラメータであるようです。
Yesならスパム。
Noなら安全なメール。
という具合です。
判定はメールサーバー側で稼働しているスパムフィルターに依存するため、クライアントからは制御は難しいです。

しかしながらこれも誤検知がままあります。
Backlog、SmartHRといった主要なサービスから届く通知がYes判定になります。
そして明確にスパムであるメールをNo判定しているケースもあります。
どうせヘッダーに含めるならスコア(数値)を入れてほしいのですが、スパムフィルターの設定とかで「スコアもヘッダーにつける」みたいなオプションがあるんでしょうかね。知らんけど。

所感

いかがだったでしょうか。
Outlookに搭載されている迷惑メールオプションを設定してしばらく様子を見ていましたが、思うように機能せず、このような手段にたどり着きました。
CopilotにOutlookでできる迷惑メール対策を尋ねると、このオプションを使用するかVBAでメッセージヘッダーのDMARC/DKIM/SPF認証結果を分析してフォルダリングすることを提案されます。
しかしVBAでこの仕組みを行うとなればマクロを警戒なしで実行できる環境にしてしまうことになり、その点がセキュリティホールになり得ることを考えるとVBAで迷惑メール対策を行うのは避けたいです。

もっともらしいことを言えば、送受信実績のあるアドレスだって乗っ取られてしまえば悪意のあるメールを送り付けることは容易いです。セーフティリストやこの記事の仕分けをもってしてもつけ入る隙はいくらでもあります。
こんな迷惑メール対策を行う変質者ってどれくらいいるんでしょうか??なんて思ったりします(笑)

大方書きたいことは書けたんじゃないかと思います。仕事をサボりながら書かせていただきました。
以下の点で困っている方がいて、この記事を見つけたことで何かのヒントになってくれたらなと思います。

  • Outlook 迷惑メール対策 仕分けルール
  • 迷惑メール ドメイン 不規則
  • 使い捨てドメイン 捨てアド 対策
  • ドメイン名を頻繁に変えて繰り返し送ってくる迷惑メールへの対処法
  • 迷惑メール アドレスが毎回変わる 対策
  • 自分のメールアドレスから迷惑メール
  • Outlookで迷惑メールドメインが毎回違う対処法
  • Outlook 迷惑メール対策 VBA使わず アドイン使わず
  • Outlook DMARC DKIM SPF 認証
  • Outlook 迷惑メールオプション 使えない 役立たず ゴミ 誤検知
  • Outlook (new) ゴミ カス 出直してこい

ご拝読ありがとうございました。

追記

追記:2026/01/13
1週間で2000件くらい迷惑メールが届いているメールアドレスで実験したら、DMARC/DKIM/SPFによる検知はできるにはできていたんですが捕捉率は60%くらいでした。
その代わりX-Spam-Statusが無双してました。90%近く捕捉してたんじゃないかと思います。
以下の設定でルールを作成して、迷惑メールに振り分けるのが無難かもしれません。
X-Spam-Statusが誤検知するといってもメルマガみたいな差し支えないものだったりなので。
しかしフリーメール系のドメインが使われてると取り漏らし気味です。。。
なかなか決定版と言えるルールとはいかないもんです。。。

X-Spam-Status: Yesで仕分ける場合

条件の設定.
X-Spam-Status: Yes

DMARC/DKIM/SPFで仕分ける場合

条件の設定.
dmarc=fail
dmarc=none
dmarc=quarantine
dmarc=reject
dkim=fail
dkim=neutral
dkim=none
spf=fail
spf=softfail
spf=neutral
spf=none
例外条件.
dmarc=pass
dkim=pass
spf=pass
1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?