Exchange Online は、Microsoft 365 に入っているメールサーバーです。会社の独自ドメインでメールを送受信するには、DNS にいくつかのレコードを入れ、迷惑メール対策の設定を最低限そろえる必要があります。この記事では、社員15名ほどのサンプル工務店(ドメインは sample-koumuten.example)を例に、DNS の設定から DKIM と DMARC の有効化、迷惑メール対策、届かないときの調べ方までを順に書きます。Microsoft 365 の契約とドメインの追加は済んでいる前提です。
この記事の内容
先に答えると
Exchange Online はメールを預かって配る側(サーバー)、Outlook はそのメールを読み書きする側(アプリ)です。Microsoft 365 の Business Basic・Standard・Premium にはどれも Exchange Online が入っていて、独自ドメインのメールは次の順で整えると取りこぼしがありません。
- DNS に MX・SPF・autodiscover を入れる(ドメイン追加のときに管理センターが出す値をそのまま使う)
- DKIM は Microsoft Defender ポータルで有効にする。独自ドメインは自動では署名されない
- DMARC は
p=noneで始め、レポートを見てからp=quarantine、p=rejectへ上げる - 迷惑メール対策は既定でも動いている。事前設定されたセキュリティ ポリシーの「標準」を当て、外部への自動転送を止める
- 届かない・迷惑メールに入るときは Exchange 管理センターの「メッセージ追跡」で、どこで止まったかを先に見る
Exchange Online とは何か、Outlook とどう違うか
Exchange Online は Microsoft のデータセンターで動くメールサーバーです。メールボックス(受信トレイや送信済みの入れ物)、予定表、連絡先を持ち、外から来たメールを受け取って振り分け、社員の送ったメールを外へ出します。迷惑メールやウイルスのチェックをする Exchange Online Protection(EOP)も一緒に動いています。
Outlook は、そのメールボックスを開いて使うアプリです。Windows の新しい Outlook、クラシック Outlook、Mac の Outlook、ブラウザーの Outlook on the web、スマホの Outlook があり、どれで開いても中身は Exchange Online にある同じメールボックスです。パソコンを替えてもメールが消えないのはこのためで、逆に言うと「Outlook の設定」と「Exchange Online の設定」は別物です。迷惑メールの判定、メールボックスの容量、転送の可否はサーバー側で決まります。
単体の契約として Exchange Online(Plan 1)・Exchange Online(Plan 2)もあります。メールだけ要る人に向けたプランで、Plan 1 のメールボックスは 50 GB、Plan 2 は 100 GB です(2026年11月時点・サービスの説明)。サンプル工務店のように Teams や SharePoint も使う会社は、Microsoft 365 Business 系に含まれる Exchange Online を使えば足ります。料金は公式の比較ページで確かめてください。
先に決めること
DNS をさわる前に、次の3つを決めておかないと、後で SPF を書き直したり DMARC を戻したりすることになります。
1つ目は、自社ドメインを名乗ってメールを出している仕組みを全部書き出すことです。社員の Outlook だけとは限りません。サンプル工務店では、ホームページの問い合わせフォームが info@sample-koumuten.example 名義で自動返信を出し、事務所の複合機がスキャンをメールで送り、会計ソフトが請求書を送っていました。これらが SPF にも DKIM にも入っていないと、DMARC を強めた日に届かなくなります。
2つ目は、DNS を誰が管理しているかです。ドメインを取った会社(レジストラー)とホームページを作った制作会社が別で、DNS は制作会社のサーバーにある、というのはよくあります。どこの管理画面で TXT と CNAME を足せるのかを先に確かめます。
3つ目は、DMARC のレポートをどこで受けるかです。毎日届く添付付きのメールなので、個人の受信トレイに入れると埋もれます。公式も専用のメールボックスか Microsoft 365 グループで受けるよう勧めています。サンプル工務店は dmarc@sample-koumuten.example という共有メールボックスを作り、総務と代表だけが見られるようにしました。
独自ドメインのメールに要る DNS レコード
Microsoft 365 管理センターの「設定」→「ドメイン」で sample-koumuten.example を選び、「DNS レコード」を開くと、入れるべき値が表示されます。値は会社ごとに違うので、下の表の値は形を示すための例です。必ず管理センターと Defender ポータルの表示をコピーして使います。
| レコード | ホスト名 | 値の形(例) | 役割 |
|---|---|---|---|
| MX | @ | sample-koumuten-example.mail.protection.outlook.com(管理センターの表示をコピー) | このドメイン宛てのメールを Exchange Online に届ける |
| TXT(SPF) | @ | v=spf1 include:spf.protection.outlook.com -all | このドメインのメールを出してよいサーバーを示す |
| CNAME(autodiscover) | autodiscover | autodiscover.outlook.com | Outlook がメールアドレスだけでサーバーを見つける |
| CNAME(DKIM) | selector1._domainkey | selector1-sample-koumuten-example._domainkey.sample-koumuten.x-v1.dkim.mail.microsoft(x の部分は Microsoft が割り当てる文字) | 送ったメールに電子署名を付ける鍵の置き場所 |
| CNAME(DKIM) | selector2._domainkey | selector2-sample-koumuten-example._domainkey.sample-koumuten.x-v1.dkim.mail.microsoft | 鍵を入れ替えるときに使う2本目 |
| TXT(DMARC) | _dmarc | v=DMARC1; p=none; rua=mailto:dmarc@sample-koumuten.example | SPF と DKIM に失敗したメールの扱いとレポートの送り先 |
TTL は公式の手順どおり 3600(1時間)にします。DKIM の CNAME の値は、2025年5月以降に追加したドメインでは末尾が dkim.mail.microsoft の新しい形式、それより前からあるドメインは ...onmicrosoft.com で終わる古い形式です。どちらになるかは自分で決められないので、Defender ポータルの表示を写します。

SPF は1つのドメインに1本だけです。前のメール業者やレンタルサーバーの SPF がすでにある場合、新しく2本目を作ると判定が permerror になり、どちらも無効になります。既存の1本に include:spf.protection.outlook.com を足して1本にまとめます。サンプル工務店では、ホームページのサーバーが info@ 名義で自動返信を出していたので、次の形にしました(include: の後ろはサーバー会社の案内する値に置き換えます)。
v=spf1 include:spf.protection.outlook.com include:_spf.hosting.example -all
SPF の評価では include: や a・mx が DNS の問い合わせ1回として数えられ、合計が10回を超えると失敗します。外のサービスを足すたびに include が増えるので、メルマガ配信のように自社で管理しないサービスは、公式の勧めどおり news.sample-koumuten.example のようなサブドメインに分けると、本体のドメインの SPF と評判を守れます。末尾は、送信元を全部書き出せたなら -all(ハードフェイル)にします。洗い出しが終わるまでの間だけ ~all にしておく手もあります。
DKIM を有効にする手順
独自ドメインから送るメールは、DKIM を有効にするまで自社ドメインでは署名されません(onmicrosoft.com のドメインは最初から自動で署名されています)。DMARC を通すには、From のドメインと同じドメインで署名されている必要があるので、ここは必ずやります。操作は Microsoft Defender ポータルで行います。
- https://security.microsoft.com を開き、「メール & コラボレーション」→「ポリシーとルール」→「脅威ポリシー」→「メール認証設定」を開く
- 「DKIM」タブを選ぶ
- sample-koumuten.example の行の「トグル」を「有効」にしようとする(状態が NoDKIMKeys のとき)
- エラーのダイアログが出るので「OK」を押す。状態が CnameMissing に変わる
- ドメインの行をクリックして詳細を開き、「CNAME の発行」に出ている2本の値をコピーする。この画面は閉じずに置いておく
- 別のタブで DNS の管理画面を開き、selector1._domainkey と selector2._domainkey の CNAME を2本とも作る
- 数分から数時間待って詳細画面に戻り、「DKIM 署名を使用してこのドメインのメッセージに署名する」をオンにする
- 状態が「このドメインに対して DKIM 署名を付与しています」になれば完了


よくある間違いは、ホスト名に selector1._domainkey.sample-koumuten.example と全部書いてしまうことです。多くの DNS 管理画面はドメイン名を自動で後ろに付けるので、実際のレコードが二重になります。ホスト名は selector1._domainkey だけ入れます。Cloudflare を使っているなら、DKIM の CNAME はプロキシをオフ(DNS のみ)にします。確かめるときは、Mac のターミナルか Windows のコマンドプロンプトで次を打ち、値が返ればレコードは公開されています。
nslookup -type=CNAME selector1._domainkey.sample-koumuten.example
dig CNAME selector1._domainkey.sample-koumuten.example +short
最後に、社外の Gmail アドレスへ試しに送り、受け取った側で「メッセージのソースを表示」を開いて dkim=pass と header.d=sample-koumuten.example を確かめます。社内同士のメールには DKIM 署名が付かないので、社内で試しても確認になりません。
鍵は定期的に入れ替えます。詳細画面の「DKIM キーのローテーション」を押すと、4日(96時間)後に新しい鍵での署名に切り替わります。鍵の長さを 2048 ビットにしたい場合は PowerShell が要ります。変更後の最初のローテーションでは次にアクティブになる側の鍵だけが 2048 ビットになり、2回ローテーションすると2本とも 2048 ビットになります(Gmail は 1024 ビット以上を求め、2048 ビットを推奨しています)。
Install-Module -Name ExchangeOnlineManagement
Connect-ExchangeOnline -UserPrincipalName admin-jimu-b@sample-koumuten.example
Get-DkimSigningConfig -Identity sample-koumuten.example | Format-List Name,Enabled,Status,Selector1CNAME,Selector2CNAME
Rotate-DkimSigningConfig -Identity sample-koumuten.example -KeySize 2048
DMARC を段階的に上げる
DMARC は、SPF か DKIM のどちらかが「From に見えているドメインと同じドメインで」通っているかを確かめ、通らなかったメールを受信側にどう扱ってほしいかを伝える仕組みです。Microsoft 365 には独自ドメインの DMARC を設定する画面はなく、DNS に TXT を1本足すだけです。
| 段階 | TXT の値(ホスト名は _dmarc) | 受信側の扱い | 次へ進む目安 |
|---|---|---|---|
| 1. 様子を見る | v=DMARC1; p=none; rua=mailto:dmarc@sample-koumuten.example | 何もしない。レポートだけ届く | 正当な送信元が全部 pass になった |
| 2. 一部を迷惑メールへ | v=DMARC1; p=quarantine; pct=25; rua=mailto:dmarc@sample-koumuten.example | 失敗したものの25%を迷惑メール扱い | 苦情が出ない。pct を 50、100 と上げる |
| 3. 全部を迷惑メールへ | v=DMARC1; p=quarantine; pct=100; rua=mailto:dmarc@sample-koumuten.example | 失敗したものは迷惑メールか検疫 | 数週間問題がない |
| 4. 受け取り拒否 | v=DMARC1; p=reject; rua=mailto:dmarc@sample-koumuten.example | 失敗したものは受け取らない | ここが目標 |
pct= を書かなければ 100 と同じです。サブドメインは親の DMARC を引き継ぐので、news.sample-koumuten.example にだけ別の扱いをしたいときは、そのサブドメインに _dmarc を別に作ります。
レポートは主に集計レポート(rua=)を見ます。受信側の各社から1日1回ほど、圧縮された XML が添付で届き、どの IP から何通、SPF と DKIM がそろっていたかが書いてあります。XML のままでは読みにくいので、件数の少ない会社なら最初の数週間だけ目で拾い、知らない送信元がないかを確かめれば足ります。公式は解析の手段として、Microsoft の MISA カタログに載っている DMARC レポートのサービスや、PowerShell・Power BI での集計を挙げています。フォレンジックレポート(ruf=)は、Microsoft 365 自身は送らず、受信側の対応もまちまちなので、最初は付けなくてかまいません。

サンプル工務店では p=none の2週間で、複合機のスキャン送信と会計ソフトの請求書メールが DMARC に失敗していることが分かりました。複合機は Microsoft 365 の認証付き SMTP 送信に切り替え、会計ソフトは送信元を会計ソフト側のアドレスにする設定に変えてから、p=quarantine に進みました。
Gmail・Yahoo!メールの送信者のガイドラインに合わせる理由
2024年2月から、Gmail と米 Yahoo のメールは、送ってくる側に認証を求めています。どちらも、すべての送信者に SPF か DKIM、送信元 IP の正引きと逆引き、迷惑メール率 0.3% 未満を求め、Gmail は TLS での送信も求めています。1日5,000通以上を Gmail 宛てに送る送信者(Yahoo は大量送信者)には、SPF と DKIM の両方、DMARC(p=none でも可)、From のドメインの一致、ワンクリックの登録解除が加わります。
小さな会社が社員の Outlook から送る量は5,000通にほど遠いですが、施主(お客様)の多くは Gmail を使っています。SPF と DKIM がそろっていないと、見積書や工程表のメールが迷惑メールに入りやすくなり、「送ったのに見ていない」という行き違いが起きます。DMARC まで入れておけば大量送信者の要件にも届くので、条件を気にしなくて済みます。なお、Exchange Online は大量配信向けではありません。1人が24時間に送れる宛先は10,000件、1分あたり30通までで、テナント全体にも外部宛ての上限があります。お客様向けのニュースレターは配信サービスに任せ、そのサービスの DKIM を自社のサブドメインで設定します。
迷惑メール対策の最低限
受信側の守りは、何も設定しなくても既定のポリシーで動いています。そのうえで、小さな会社がやっておくことは3つです。
1つ目は、事前設定されたセキュリティ ポリシーの「標準」を全員に当てることです。Defender ポータルの「メール & コラボレーション」→「ポリシーとルール」→「脅威ポリシー」→「事前設定されたセキュリティ ポリシー」から、公式ドキュメントの表記で「Standard 保護」を有効にして対象を全員にします(日本語画面での表示名は、開いて確かめてください)。既定のままだと、スパム・高確度のスパム・フィッシングは迷惑メールフォルダーに入るだけですが、標準では検疫に回るものが増え、本人の受信トレイには出てきません。
| 判定 | 既定のポリシー | 標準 |
|---|---|---|
| スパム | 迷惑メールフォルダーへ | 迷惑メールフォルダーへ |
| 高確度のスパム | 迷惑メールフォルダーへ | 検疫 |
| フィッシング | 迷惑メールフォルダーへ | 検疫 |
| 高確度のフィッシング | 検疫 | 検疫 |
| 検疫に置く日数 | 15日 | 30日 |

2つ目は、検疫の確認役を決めることです。検疫されたメールは管理者が Defender ポータルの検疫の画面で確かめて、正当なら解放します。高確度のフィッシングと判定されたものは本人には解放できません。サンプル工務店では、協力会社からの請求書が検疫に入ったときに備えて、事務Bが週に一度、検疫の一覧を見る係になりました。

3つ目は、外部への自動転送を止めることです。送信スパム ポリシーの「自動転送規則」は既定が「自動 – システム制御」で、公式の推奨は「オフ – 転送が無効」です。退職した人の受信トレイに私用の Gmail への転送が残っていた、乗っ取られたアカウントに転送ルールが仕込まれた、という事故を防げます。どうしても外へ転送したい宛先がある場合は、その人だけ別の送信スパム ポリシーで許可します。
フィッシング対策ポリシーの「スプーフィング インテリジェンス」と「メッセージがスプーフィングとして検出されたときに DMARC レコード ポリシーを適用する」は、既定でオンです。オフにしないでください。もう一つ、Outlook 側の迷惑メールフィルターは「自動フィルター処理なし」のままにしておくと、サーバーの判定と食い違いません。安全なリンクや安全な添付ファイルは Defender for Office 365 の機能で、セキュリティを強める記事で Business Premium に上げる判断として扱います。
メールが届かない・迷惑メールに入るときの切り分け
まず Exchange 管理センター(https://admin.exchange.microsoft.com)の「メール フロー」→「メッセージ追跡」で、そのメールが Microsoft 365 に来ているかを見ます。「追跡の開始」を押し、送信者か受信者を入れて検索します。既定は過去2日で、10日以内ならすぐに結果が出ます。期間を10日より長く指定すると CSV のレポートになり、できるまで数時間かかります。指定できるのは90日前までです。
- 「メール フロー」→「メッセージ追跡」を開き、「追跡の開始」を押す
- 「送信者」に相手のアドレス(例: 協力会社のアドレス)、「受信者」に info@sample-koumuten.example を入れる
- 時間の範囲を、相手が送ったと言っている日を含むように選ぶ
- 「検索」を押し、結果の「状態」を見る
- 行をクリックして「メッセージ イベント」を開き、どの段階で止まったかを確かめる

| 状態 | 意味 | 次に見るところ |
|---|---|---|
| 見つからない | Microsoft 365 まで来ていない | 相手の送信エラー(NDR)の内容、自社の MX |
| 配信済み | 受信トレイか迷惑メールフォルダーに入った | 本人の迷惑メールフォルダー、受信トレイのルール |
| 検疫済み | 迷惑メール対策で検疫に回った | 検疫の一覧と判定の理由 |
| スパムとしてフィルター処理済み | スパムとして拒否・ブロックされた | 送信元の SPF・DKIM・DMARC |
| 失敗 | 配信できなかった | 詳細のエラー文。容量超過や宛先違い |
| Pending | 配信を再試行している | 相手側サーバーの状態。時間をおいて再確認 |
自社から送ったメールが相手で迷惑メールに入る場合は、相手から受け取ったメールではなく、自分が送ったメールのヘッダーを相手に見せてもらうのが一番早いです。Authentication-Results の行に spf=・dkim=・dmarc= の結果が並ぶので、どれが fail かで直す場所が決まります。PowerShell を使う場合、メッセージ追跡のコマンドは Get-MessageTraceV2 に変わっています(Exchange Online PowerShell モジュール 3.7.0 以降)。
Connect-ExchangeOnline -UserPrincipalName admin-jimu-b@sample-koumuten.example
Get-MessageTraceV2 -RecipientAddress info@sample-koumuten.example -StartDate (Get-Date).AddDays(-2) -EndDate (Get-Date)
メールボックスの容量とアーカイブ
容量はプランで決まります(2026年11月時点・Exchange Online の制限)。
| 種類 | Business Basic・Standard | Business Premium |
|---|---|---|
| ユーザーのメールボックス | 100 GB | 100 GB |
| アーカイブ メールボックス | 50 GB | 1.5 TB(自動拡張アーカイブをオンにした場合。最初は 100 GB) |
| 共有メールボックス(ライセンスなし) | 50 GB | 50 GB |
| 削除済みアイテムから消したものを戻せる期間 | 既定14日(最大30日に変更可) | 既定14日(最大30日に変更可) |
| 迷惑メールフォルダーに残る期間 | 30日 | 30日 |
98 GB で警告、99 GB で送信できなくなり、100 GB で受信も止まります。15名の会社でここまで行くのは、図面の PDF を添付で何年もやり取りしている設計や現場監督のメールボックスくらいです。その場合はアーカイブ メールボックスを有効にし、古いメールを移します。アーカイブは Exchange 管理センターの「受信者」→「メールボックス」で対象の人を選び、「その他」→「メールボックス アーカイブ」の下の「メールボックス アーカイブの管理」から有効にでき、本人の Outlook には「オンライン アーカイブ」として出てきます。
共有メールボックスは、ライセンスなしだと 50 GB までで、100 GB にするには Exchange Online プラン2のライセンスが要ります。info@ に請求書の PDF が何年分もたまる会社は、どこかで容量を確かめてください。メッセージの大きさは、既定で送信35 MB・受信36 MB、管理者が 150 MB まで上げられます。ただ相手のサーバーが受け取れないことも多いので、大きな図面は OneDrive や SharePoint のリンクで送るのが確実です。

できないことと、その代わり
Exchange Online は会社のメールの土台としては十分ですが、向かない使い方もあります。
| やりたいこと | Exchange Online では | 代わりの手 |
|---|---|---|
| お客様数千件へのメルマガ | 1人1日10,000宛先、1分30通の上限があり、大量配信向けではない | 配信サービスをサブドメインで使い、DKIM をそのサービスで設定する |
| 独自ドメインの DMARC を管理画面で設定 | 画面もコマンドもない | DNS の管理画面で TXT を作る |
| 古いメールをいつまでも全部残す | 削除済みから消したものは既定14日で戻せなくなる | アイテム保持ポリシー(「Microsoft 365のバックアップと復元:ごみ箱・バージョン履歴・保持ポリシー」) |
| info@ を複数人で受ける | 個人のメールボックスを共有するのは不向き | 共有メールボックス(「共有メールボックスの作り方:info@を複数人で受ける・配布グループとの違い」) |
| 受けたメールを自動で台帳に入れる | Exchange Online だけではできない | 姉妹サイトの「Microsoft FormsとPower Automate:回答をExcelやリストにためて担当に知らせる」のような自動化の領分 |
メールを Gmail で使い続けたい、すでに Google Workspace で社内が回っているという会社は、無理に Exchange Online に移す必要はありません。その場合も SPF・DKIM・DMARC の考え方は同じです。
よく詰まるところ
| 症状 | 原因 | 直し方 |
|---|---|---|
| DKIM の状態が CnameMissing のまま | ホスト名にドメイン名まで入れて二重になっている | ホスト名は selector1._domainkey だけにする |
| DKIM のトグルが有効にならない | CNAME ではなく TXT で作った | TXT を消し、CNAME で作り直す |
| DKIM は有効なのに受信側で dkim=fail | CNAME の値を手で組み立てて1文字違う | Defender ポータルの表示をコピーし直す |
| SPF が permerror になる | SPF の TXT が2本ある、または include が多すぎる | 1本にまとめ、外のサービスはサブドメインへ分ける |
| DMARC を quarantine にしたら複合機のメールが届かない | 複合機が SPF にも DKIM にも入っていない | Microsoft 365 の SMTP 送信に切り替えるか、SPF に複合機の送信元を足す |
| DMARC レポートが届かない | rua= の宛先を別ドメインにしたのに許可の TXT がない | 同じドメインの共有メールボックスにする |
| 施主の Gmail に届くが迷惑メールに入る | 独自ドメインの DKIM が未設定で署名されていない | 独自ドメインの DKIM を有効にする |
| 協力会社の請求書が届いていないと言われる | 検疫に入っている | 検疫の一覧で確かめて解放し、相手に SPF・DKIM の設定を頼む |
| 新しい PC の Outlook がサーバーを見つけられない | autodiscover の CNAME がない | autodiscover の CNAME を足す |
| 退職者宛てのメールが外の Gmail に流れていた | 受信トレイのルールで外部転送していた | 送信スパム ポリシーで自動転送をオフにする |
| メールボックスがいっぱいで送れない | 添付ファイルがたまって 99 GB に達した | アーカイブ メールボックスを有効にし、図面はリンクで送る |
| onmicrosoft.com のアドレスから社外に送ると止まる | onmicrosoft.com からの外部宛ては24時間で100人に制限されている | 独自ドメインのアドレスで送る |
次にやること
メールの土台ができたら、info@ の受け方と、アカウントの守りを固めます。
- 共有メールボックスの作り方:info@を複数人で受ける・配布グループとの違い
- Microsoft 365の導入手順:契約・独自ドメイン・ユーザー追加・初期設定
- Microsoft 365の多要素認証:Microsoft Authenticatorとセキュリティの既定値
- Microsoft 365のバックアップと復元:ごみ箱・バージョン履歴・保持ポリシー