OutlookやHotmailはDKIMエラーが原因で届いていない?Microsoft特有の問題を解決する2つの対策
GmailやOffice 365にはメールが届くのに、Outlook.comやHotmail.comだけメールが届かず、そのメール到達の対策に苦しんでいませんか。
送信サーバーの設定を見直し、SPFやDKIM、DMARCも”成功”しているはずなのに、Microsoft系のドメインだけが頑なにメールを受け取ってくれない。
理由がわからず、見えない”Microsoftの壁”に突き当たり、イライラを募らせますよね。
実はその原因、あなた方の設定ミスではなく、Microsoftの長年にわたり改修が重ねられてきた複雑なインフラ事情に合わせた対応が不足しているだけかもしれません。
今回は、OutlookやHotmailで発生する「DKIMエラー」の真犯人と、その解決策をご案内いたします。
Microsoftだけ「DKIM Fail」になる奇妙な現象
まず、あなたが行うべきことは、Googleをはじめ、Microsoft、Yahoo!やdocomoを含めた、各受信側から送られるのDMARCレポート(Ruaレポート)を冷静に分析することです。
そして、事象がGoogleなどでは起きず、”Microsoftだけに起きているか”を最初にご確認ください。
送信ログで「Sent」になっていても、相手の迷惑メールフォルダに直行していたり、そもそも届いていなかったりする場合、認証周りでエラーが起きている可能性があります。
特に多いのが、「GoogleやYahoo!では成功するDKIM署名が、OutlookやHotmailだけで失敗または一時エラーになる」という不可解な現象です。
PowerDMARCで「Microsoftだけの拒絶」を可視化する
この現象を特定するには、DMARCレポートの解析が必須です。 当社が提供する PowerDMARC などの解析ツールを使うと、受信プロバイダごとの認証結果が一目でわかります。
もし、レポートの結果が次のような状態であれば、今回ご紹介する対策は劇的に効く可能性があります。
- Google / Yahoo / docomo:DKIM認証率 100%(成功)
- Outlook / Hotmail:DKIM認証率 5%(失敗 / 一時エラー 多発)
「なぜMicrosoftだけ?」その答えは、彼らのDNSインフラの負荷と、メールヘッダー処理の特殊な仕様にあります。
対策その1:DNSの「TTL」を24時間に変更する
Microsoftのメールサーバーは、世界中から膨大なメールを受信しており、その都度送信元のDNSレコード(SPFやDKIM公開鍵)を参照しにいきます。
しかし、Microsoft側のDNSクエリインフラは負荷により非常に不安定になることがあり、あなたのDNSサーバーへの問い合わせがタイムアウトしてしまうことがあります(これがDMARCレポート上の一時エラーの正体です)。
「1分」の設定が仇になる理由
日本の多くのレンタルサーバー(Xserverなど)では、DNSレコードのTTL(キャッシュ有効期限)がデフォルトで「3600秒(1時間)」などに設定されています。
これは設定変更を即座に反映させるには便利ですが、Microsoft相手には「頻繁に問い合わせに来い」と言っているのと同じです。
結果、Microsoft側が問い合わせに来るたびにタイムアウトのリスクに晒されることになり、エラー率が跳ね上がります。
TTLを86400秒(1日)に延ばす
この問題を回避する解決策はとてもシンプルです。DNS設定で以下のレコードのTTLを「86400(24時間)」に変更してください。
- SPFレコード
- DKIMレコード
- DMARCレコード
これにより、OutlookやHotmailのサーバーは一度成功した情報を24時間キャッシュしてくれるようになります。
不安定な回線を通じた問い合わせ回数が激減するため、劇的に到達率が改善するケースがあります。
あなたのドメインが安定運用のフェーズに入っており、頻繁にDNSレコードを変更することがなければ、問い合わせは24時間に1回で十分です。
対策その2:メールヘッダーの”998文字の壁”
DNS設定を見直しても直らない場合、次に疑うべきは「メールヘッダーの長さ」です。ここにMicrosoft特有の「強制改行バグ」とも言える挙動が隠れています。
Microsoftによる「強制改行」がDKIMを破壊する
メールの技術仕様(RFC 5322)では、ヘッダーの1行の文字数は「998文字以内(必須)」とされています(推奨は78文字以内)。
しかし、Microsoftのサーバーは998文字以内であっても、勝手に改行を挿入したり、データを修正したりする不可解な動きをすることがあるようです。
DKIM署名は「送信時のデータ」を元に計算されているため、受信側(OutlookやHotmail)が勝手に1文字でも変更してしまうと、ハッシュ値が合わなくなり「改ざん」とみなされてDKIMがFailします。
特に「List-Unsubscribe」リンクに注意
海外での調査事例では次のヘッダーで問題が起きやすいことがわかっています。
- List-Unsubscribeヘッダー(ワンクリック購読解除用URL)
- 独自のトラッキング用カスタムヘッダー(JSONデータの埋め込みなど)
これらのヘッダーが長くなると、RFCの制限内である998文字以下であっても、Microsoftは署名を壊す挙動を見せます。
600文字を超えたあたりからリスクが高まると言われているため、できる限り600文字を超えないようにご注意ください。
解決策:URLとヘッダーを600文字以下に抑える
対策は物理的な短縮です。
URLの短縮
List-Unsubscribe に含めるURLは、不要なパラメータを削るか、短縮ドメインを使用して600文字以内に収めてください。
不要なヘッダーの削除
DKIM署名に含まれるカスタムヘッダーで、長すぎるものがないか見直してください。
最後に
「うちのDNSの設定はGoogle Postmaster Toolsでも完璧だから大丈夫!」という理屈が通用しないのが、OutlookやHotmailへのメール配信です。
- 診断:PowerDMARCで「Microsoftだけ落ちている」事実を確認する。
- DNS:TTLを「86400秒」にしてキャッシュさせる。
- ヘッダー:長いURLを避け、「600文字以内」に短縮する。
この3ステップは、ドメインレピュテーションを育てる以前の、不可欠な対策です。Outlookにメールが届かず原因不明の不達に悩んでいる方は、ぜひこの対策を試してみてください。
また、メール到達性の改善に向けた健康診断、PowerDMARCの導入に関してはプリモポストまでご相談ください。
Outlookに届かずお悩みではありませんか?
「Outlookだけ届いていないのか知りたい」「DMARCの設定方法がわからない」など、メール配信に関する課題をお持ちの方は、ぜひお気軽にご相談ください。