ある日、自分でテストメールを送ってみた。Fromアドレスとリターンパスを意図的に別のドメインにずらした状態で、Gmailに届くかどうか確かめたかったからです。
結果、届いた。なぜ届いたかが気になって、メールのヘッダをAIに貼り付けて分析を頼んだ。
AIへの頼み方
このメールのSPF/DKIM/DMARCをみて 経路も確認して リターンパスやエンベロープも確認して その他の分析もして
これだけ渡すと、認証結果・経由サーバ・Fromとリターンパスの一致、全部返ってきます。メールの中身ではなく、「ヘッダ」を貼り付けるのがポイントです。Gmailなら「その他のオプション → メッセージのソースを表示」で開けます。
3つの認証結果
ヘッダの認証結果には、大きく3つ出てきます。
SPF(Sender Policy Framework) 送信元のサーバが、そのドメインの設定で許可されているかを確認する仕組み。「pass」ならOK、「softfail」や「fail」なら怪しい。
DKIM(DomainKeys Identified Mail) メールに署名が付いていて、中継の途中で改ざんされていないかを検証する仕組み。署名を付けたドメインも見ておく必要がある。
DMARC(Domain-based Message Authentication, Reporting, and Conformance) SPFとDKIMの結果を組み合わせて、Fromヘッダのドメインと一致しているかを判定する仕組み。
3つ全部「pass」で、かつドメインが揃っていれば、まず問題ない。ずれがあると怪しくなる。
テストで確かめた:Fromとリターンパスのズレ
テストで分かったのは、認証さえ通っていれば、FromとリターンパスがバラバラでもGmailに届くという事実です。
私が送ったテストメールの状態はこうでした。
- Fromヘッダ:ドメインAのアドレス
- リターンパス:ドメインBのアドレス
- SPF:pass
- DKIM:pass(ドメインAの署名)
- DMARC:pass
ヘッダを分析すると「送信者情報の不一致、潜在的な偽装の兆候かもしれない」という指摘が出てきた。確かにそう見える。でも認証が通っているから届いてしまう。
softfail と DKIM ズレ、なぜ届かないか
次に、別のメールヘッダを見た。こちらは「なぜか届かない」という状況のものです。
- Fromヘッダ:あるサービスのドメイン
- SPF:softfail
- DKIM:pass(ただし、GmailのDKIM署名のまま)
- DMARC:Gmailドメインで通過しているが、Fromと一致していない
問題は2つあった。
1つ目はSPF softfail。あるサービスのSPFレコードが、実際にメールを送信しているサーバーのIPを許可していなかった。
2つ目はDKIM署名のズレ。元のGmailが付けた署名がそのまま残っていて、そのサービスのドメインの署名がない状態だった。DMARCが通るにはFromドメインとDKIM署名のドメインが一致している必要があるので、ここで不一致になる。
2つのメールを並べて「同じサーバーを経由しているのに、なぜ片方だけsoftfailなのか」と追いかけた。元の送信サーバーが違うから、SPFの判定元が変わる。そこが原因だと分かった。
ヘッダに出てくる変なアドレスの正体
ヘッダを読んでいると「info+ランダム文字列@ドメイン名」のような書き方をされているReturn-Pathを見ることがあります。これは「プラス記法」と呼ばれるメールアドレスの書き方で、「+」以降の文字列は配信時に無視されて、メインアドレスに届きます。
メールサービス側がバウンス管理や追跡のために自動生成していることが多い。見かけが奇妙でも、それ自体はなりすましの証拠ではないので、慌てなくていい。
判断の基準
| 見るポイント | 問題ない状態 | 怪しい状態 |
|---|---|---|
| SPF | pass | softfail / fail |
| DKIM | pass(Fromのドメインと一致) | fail / ドメインが違う |
| DMARC | pass | fail |
| FromとDKIM署名のドメイン | 一致 | ズレている |
ただし、認証が全部passでも安心しきれないケースはある。詐欺師が自前でSPF/DKIMを設定した詐欺ドメインを使うと、認証は通る。だから「認証が通ってる=内容も安全」は正しくない。「認証が通っていない=疑う」は正しい。
メールヘッダを読む習慣は、「このメール、なんか変だな」と思ったときの最初の確認手段としてちょうどいいと思っています。専門家に頼む前に、自分でヘッダをAIに貼り付けて聞いてみるだけで、だいたい状況は把握できます。
