背景
Microsoft 365 環境で Claude.ai のログイン用マジックリンクメールが届くのに数分かかることがある。原因は Defender for Office 365 の Safe Links が「URL スキャンが完了するまで待って配信する」設定になっており、毎回異なる URL のワンタイムリンクがフルスキャン対象になるため。
参考: Microsoft365環境でClaude.aiの安全なリンクメールの遅延
上記記事では Safe Links ポリシー自体の「スキャン完了まで待つ」をオフにする方法が紹介されているが、これはポリシー単位の設定のため、対象ドメインだけでなく組織内の全メールに影響する。
送信元を絞ってピンポイントで回避したい場合は、メールフロールール(トランスポートルール)でヘッダーを付与する方法がある。
仕組み
Exchange Online Protection は特定のメッセージヘッダーが付与されたメールに対して、該当するチェックをスキップする。Safe Attachments 用に X-MS-Exchange-Organization-SkipSafeAttachmentProcessing があるのと同様に、Safe Links 用には X-MS-Exchange-Organization-SkipSafeLinksProcessing が存在する。
このヘッダーの値を 1 にしたメールは、Safe Links ポリシーが有効なままでも配信前のスキャン待ちおよび URL 書き換えをスキップされる。
| 設定方法 | 対象範囲 | 影響 |
|---|---|---|
| Safe Links ポリシーの「スキャン完了まで待つ」をオフ | ポリシー適用対象全体 | 全メールがスキャン前配信になる |
| メールフロールールでヘッダー付与 | 条件に一致した送信者のみ | 対象メールだけ回避できる |
設定手順
Exchange 管理センター(https://admin.exchange.microsoft.com/)にアクセスし、メールフロー → ルール から新規ルールを作成する。
- ルール名を入力する(例:
Bypass SafeLinks for Claude notifications) - 「次の場合にルールを適用する」で送信者を条件にする
- 「送信者のドメインが指定した値と一致する場合」を選び、対象ドメイン(例:
notifications.anthropic.comなど、実際のメール送信元ドメイン)を指定する - 送信元 IP で絞りたい場合は「送信者の IP アドレスが次の範囲内、または一致する場合」でも可
- 「送信者のドメインが指定した値と一致する場合」を選び、対象ドメイン(例:
- 「次の処理を実行する」で「メッセージのプロパティを変更する」→「メッセージヘッダーを設定する」を選ぶ
- ヘッダー名:
X-MS-Exchange-Organization-SkipSafeLinksProcessing - 値:
1
- ヘッダー名:
- 必要に応じて「これ以上のルールを処理しない」を有効にする
- ルールモードは「強制」にして保存する
反映まで最大30分程度かかる場合がある。
PowerShell で作成する場合は以下のようになる。
New-TransportRule -Name "Bypass SafeLinks for Claude notifications" `
-SenderDomainIs "mail.anthropic.com" `
-SetHeaderName "X-MS-Exchange-Organization-SkipSafeLinksProcessing" `
-SetHeaderValue "1" `
-StopRuleProcessing $true
確認方法
設定後に届いたメールのヘッダーを確認し、X-MS-Exchange-AtpMessageProperties に SL (Safe Links) が含まれていないこと、また X-MS-Exchange-Transport-EndToEndLatency が短縮されていることを確認する。
注意点
- 対象ドメインからのメールは配信前チェックだけでなく、クリック時の Safe Links チェックも含めて完全にスキップされる。送信元がなりすまされた場合のリスクは許容した上で設定すること
- 対象は信頼できる送信元(自社で契約しているサービスのドメインなど)に限定し、可能な限り狭い条件で作成する
- SPF / DKIM / DMARC が正しく pass する送信元であることを別途確認しておく
- ルールの優先順位によっては他のルールが先に適用されるため、優先度を確認する