独自ドメインでメールアドレスを使おうとして、こんな経験はありませんか?
「メールが送れない」
「メールが届かない」
「Gmail(Google Workspace)に切り替えたのにメールが受信できない」
「Microsoft 365でメールが使えない」
その原因、MXレコードの設定ミスかもしれません。
MXレコードは、メールを正しく配送するために絶対に必要な設定です。でも、「優先度って何?」「どう設定すればいいの?」と困っている方も多いはず。
この記事では、MXレコードの基本から、Gmail・Microsoft 365の具体的な設定方法、トラブルシューティングまで、初心者にもわかりやすく解説します!
MXレコードとは?

一言で言うと
MXレコード(Mail eXchange record)とは、「このドメイン宛のメールをどこに配送するか」を指定するDNSレコードです。
郵便の配送に例えると
MXレコードは、メールの配送先を指定する住所ラベルのようなものです。
普通の郵便:
- 宛先: 東京都渋谷区○○(住所)
- 配達員がその住所に届ける
メールの場合:
- 宛先: user@example.com
- MXレコードが「example.com宛のメールはmail.example.comに配送してください」と指示
- メールサーバーがその指示に従って配送
なぜ必要なの?
MXレコードがないと、メールがどこに配送されるべきかわからなくなります。
MXレコードがある場合:
example.com宛のメール
↓
MXレコードを確認
↓
mail.example.comに配送
↓
受信成功!
MXレコードがない場合:
example.com宛のメール
↓
配送先が不明
↓
エラー:配送失敗
MXレコードの仕組み
メールが送信されてから受信されるまでの流れを見てみましょう。
ステップ1: メール送信
あなたが「user@example.com」宛にメールを送信します。
ステップ2: 送信側メールサーバーが動作開始
あなたの使っているメールサーバー(GmailやOutlookなど)が、「example.com」のMXレコードを調べます。
ステップ3: DNSサーバーに問い合わせ
送信側メールサーバーが、DNSサーバーに「example.comのMXレコードは?」と問い合わせます。
ステップ4: MXレコードを取得
DNSサーバーが「example.comのメールは、mail.example.comに送ってください」と返答します。
ステップ5: メール配送
送信側メールサーバーが、mail.example.comにメールを配送します。
ステップ6: 受信完了
mail.example.comがメールを受け取り、user@example.comのメールボックスに保存します。
この仕組み全体でMXレコードが中心的な役割を果たしています。
MXレコードの構成要素
MXレコードは以下の要素で構成されています。
1. ホスト名(ドメイン名)
どのドメイン宛のメールかを指定します。
例:
example.com(メインドメイン)subdomain.example.com(サブドメイン)@(ドメイン自体を表す記号)
2. レコードタイプ
MXと指定します。
3. 優先度(Priority/Preference)
複数のメールサーバーがある場合、どれを優先するかを示す数値です。
重要なルール:
- 数字が小さいほど優先度が高い
- 0〜65535の範囲で指定可能
- 一般的には10、20、30などの値を使う
4. メールサーバーのホスト名(Value)
実際にメールを受け取るサーバーの名前です。
例:
mail.example.comsmtp.google.com(Gmail/Google Workspace)example-com.mail.protection.outlook.com(Microsoft 365)
5. TTL(Time To Live)
この情報をどれくらいの時間保持するか(秒数)。
一般的な値:
- 3600秒(1時間)
- 86400秒(1日)
MXレコードの書き方
基本的な書式
[ドメイン名] IN MX [優先度] [メールサーバーのホスト名]
具体例
例1: シンプルな設定
example.com. IN MX 10 mail.example.com.
意味:
example.com宛のメール- 優先度は
10 mail.example.comに配送
例2: 複数のメールサーバー(冗長化)
example.com. IN MX 10 mail1.example.com.
example.com. IN MX 20 mail2.example.com.
意味:
- まず
mail1.example.com(優先度10)に配送を試みる - それが失敗したら
mail2.example.com(優先度20)に配送
例3: 負荷分散
example.com. IN MX 10 mail1.example.com.
example.com. IN MX 10 mail2.example.com.
意味:
- 優先度が同じ(両方10)
- ランダムに
mail1かmail2に配送される - サーバーの負荷が分散される
優先度の仕組み
MXレコードで最も重要なのが優先度(Priority)です。
優先度の基本ルール
ルール1: 数字が小さいほど優先度が高い
優先度 0: 最優先
優先度 10: 優先
優先度 20: 次点
優先度 30: その次
ルール2: 優先度の高いサーバーから順に試される
example.com MX 10 mail1.example.com
example.com MX 20 mail2.example.com
example.com MX 30 mail3.example.com
配送の流れ:
- まず優先度10の
mail1.example.comに配送を試みる - 失敗したら優先度20の
mail2.example.comを試す - それも失敗したら優先度30の
mail3.example.comを試す
ルール3: 同じ優先度の場合はランダム
example.com MX 10 mail1.example.com
example.com MX 10 mail2.example.com
この場合、mail1とmail2にランダムに配送されます(負荷分散)。
なぜ複数のMXレコードを設定するの?
理由1: 冗長化(バックアップ)
メインのメールサーバーが故障しても、バックアップサーバーがメールを受け取れます。
例:
example.com MX 10 mail1.example.com ← メインサーバー
example.com MX 20 mail2.example.com ← バックアップサーバー
メールサーバーは24時間365日動き続ける必要があるので、バックアップは重要です。
理由2: 負荷分散
メールが大量に来る場合、複数のサーバーで負荷を分散できます。
例:
example.com MX 10 mail1.example.com ← 50%のメール
example.com MX 10 mail2.example.com ← 50%のメール
MXレコードの設定方法(一般的な手順)
ステップ1: 事前準備
必要な情報を集める:
- ドメイン名(例: example.com)
- メールサーバーのホスト名(例: mail.example.com)
- メールサーバーのIPアドレス
- 優先度の値
重要: MXレコードを設定する前に、メールサーバーのAレコード(またはAAAAレコード)を設定しておく必要があります。
例:
mail.example.com A 192.0.2.1
これがないと、MXレコードでメールサーバーを指定しても、そのサーバーのIPアドレスが解決できません。
ステップ2: DNSマネージャーにアクセス
ドメインを管理している会社(レジストラ)のウェブサイトにログインします。
主なレジストラ:
- お名前.com
- ムームードメイン
- Xserver
- さくらインターネット
- Google Domains(Squarespaceに移管)
- Cloudflare
ステップ3: DNS設定画面を開く
「DNS設定」「DNSレコード設定」「ゾーンファイル編集」などのメニューを探します。
ステップ4: MXレコードを追加
入力する情報:
ホスト名(Name):
@(ドメイン自体)- または空欄
- または
example.com
タイプ(Type):
MXを選択
優先度(Priority):
10(メインサーバーの場合)20(バックアップサーバーの場合)
値(Value):
- メールサーバーのホスト名(例:
mail.example.com)
TTL:
3600(1時間)が一般的- または
Autoのまま
ステップ5: 保存
設定を保存します。
ステップ6: 反映を待つ
DNS浸透時間:
- 最短: 数分
- 通常: 1〜4時間
- 最長: 24〜48時間
この間、古い設定と新しい設定が混在する可能性があります。
Gmail(Google Workspace)のMXレコード設定

Gmail(Google Workspace)を使う場合の具体的な設定方法です。
2023年4月以降に契約した場合
設定するMXレコード(1つだけ):
ホスト名: @
タイプ: MX
優先度: 1
値: smtp.google.com
TTL: 3600
注意: 最後に「.」(ピリオド)が必要な場合があります。
例: smtp.google.com.
2023年4月より前に契約した場合(レガシーMXレコード)
設定するMXレコード(5つ):
@ MX 1 ASPMX.L.GOOGLE.COM
@ MX 5 ALT1.ASPMX.L.GOOGLE.COM
@ MX 5 ALT2.ASPMX.L.GOOGLE.COM
@ MX 10 ALT3.ASPMX.L.GOOGLE.COM
@ MX 10 ALT4.ASPMX.L.GOOGLE.COM
各レコードの役割:
- 優先度1: メインサーバー
- 優先度5: バックアップサーバー(2台で負荷分散)
- 優先度10: さらなるバックアップサーバー(2台で負荷分散)
設定手順(お名前.comの例)
ステップ1: お名前.com Naviにログイン
ステップ2: 「ドメイン」→「DNS設定/転送設定」
ステップ3: 対象ドメインを選択 →「次へ」
ステップ4: 「DNSレコード設定を利用する」→「設定する」
ステップ5: MXレコードを追加
- ホスト名: 空欄(または
@) - TYPE: MX
- VALUE:
smtp.google.com(またはASPMX.L.GOOGLE.COM) - 優先:
1 - TTL:
3600
ステップ6: 「追加」→「確認画面へ進む」→「設定する」
既存のMXレコードを削除
重要: Google Workspaceに切り替える場合、古いMXレコードは必ず削除してください。
古いMXレコードが残っていると:
- メールが古いサーバーに配送される
- メールが届かない
- メールが2つのサーバーに分散してしまう
Microsoft 365のMXレコード設定
Microsoft 365(旧Office 365)を使う場合の設定方法です。
MXレコードの値を確認
ステップ1: Microsoft 365管理センター(admin.microsoft.com)にログイン
ステップ2: 「設定」→「ドメイン」
ステップ3: 自分のドメインを選択
ステップ4: 「必須DNS設定」でMXレコードの値を確認
一般的な形式:
[ドメイン名]-com.mail.protection.outlook.com
例: example.comの場合
example-com.mail.protection.outlook.com
MXレコードの設定
設定内容:
ホスト名: @
タイプ: MX
優先度: 0
値: example-com.mail.protection.outlook.com
TTL: 3600
重要ポイント:
- 優先度は0(最優先)
- ドメイン名の「.」が「-」に置き換えられる
- 例:
example.com→example-com
複数のMXレコード(冗長化)
Microsoft 365では通常1つのMXレコードで十分ですが、冗長化する場合:
@ MX 0 example-com.mail.protection.outlook.com
@ MX 10 example-com.mail.protection.outlook.com
スパムフィルターを使う場合
社外のスパムフィルターサービスを使う場合、MXレコードはスパムフィルターのサーバーを指します。
例:
@ MX 10 mx.spamfilter-service.com
スパムフィルターがメールをチェックした後、Microsoft 365に転送します。
MXレコードの確認方法
設定したMXレコードが正しいか確認する方法を紹介します。
方法1: オンラインツールを使う
おすすめツール:
1. MXToolbox
- https://mxtoolbox.com/
- ドメイン名を入力するだけ
- 優先度やメールサーバーの情報がわかる
- メールサーバーの接続テストもできる
2. Google Admin Toolbox Dig
- https://toolbox.googleapps.com/apps/dig/
- Googleが提供
- 詳細な情報が見られる
3. nslookup.io
- https://www.nslookup.io/
- わかりやすいインターフェース
使い方:
- ツールにアクセス
- 自分のドメイン名を入力(例: example.com)
- レコードタイプで「MX」を選択
- 検索ボタンをクリック
- 結果を確認
方法2: コマンドライン(Windows)
nslookupコマンド:
- コマンドプロンプトを開く(Windowsキー + R →
cmd) - 以下のコマンドを入力:
nslookup -type=mx example.com
(example.comは自分のドメインに置き換え)
結果の例:
example.com MX preference = 10, mail exchanger = mail.example.com
example.com MX preference = 20, mail exchanger = mail2.example.com
方法3: コマンドライン(Mac/Linux)
digコマンド:
ターミナルを開いて以下を実行:
dig example.com MX
結果の例:
;; ANSWER SECTION:
example.com. 3600 IN MX 10 mail.example.com.
example.com. 3600 IN MX 20 mail2.example.com.
確認すべきポイント
1. MXレコードが存在するか
- 少なくとも1つのMXレコードが表示されるはず
2. 優先度が正しいか
- メインサーバーの優先度が最も小さい数字か
3. メールサーバー名が正しいか
- スペルミスがないか
- ドメイン名が正しいか
4. 古いMXレコードが残っていないか
- 使わなくなったメールサーバーのMXレコードが残っていないか
よくあるトラブルと対処法
トラブル1: メールが受信できない
症状:
- 自分のドメイン宛のメールが届かない
- エラーメールが返ってくる
原因:
- MXレコードが設定されていない
- MXレコードの値が間違っている
- メールサーバーのAレコードがない
対処法:
ステップ1: MXレコードを確認
nslookup -type=mx example.com
ステップ2: メールサーバーのAレコードを確認
nslookup mail.example.com
ステップ3: 間違っていたら修正
ステップ4: DNS浸透を待つ(最大48時間)
トラブル2: 古いサーバーにメールが届く
症状:
- Gmail(Google Workspace)に切り替えたのに、古いレンタルサーバーにメールが届く
- Microsoft 365に切り替えたのに、古いメールサーバーに届く
原因:
古いMXレコードが残っている。
対処法:
ステップ1: 現在のMXレコードをすべて確認
nslookup -type=mx example.com
ステップ2: 古いMXレコードを削除
DNSマネージャーにログインして、使わないMXレコードをすべて削除します。
ステップ3: 新しいMXレコードのみにする
トラブル3: 送信したメールが迷惑メールになる
症状:
- 自分から送ったメールが相手の迷惑メールフォルダに入る
- メールが届かない
原因:
MXレコードの問題ではなく、SPFレコード・DKIMレコード・DMARCレコードの問題です。
対処法:
SPFレコードを追加(TXTレコード):
Gmail/Google Workspaceの場合:
example.com TXT "v=spf1 include:_spf.google.com ~all"
Microsoft 365の場合:
example.com TXT "v=spf1 include:spf.protection.outlook.com ~all"
DKIMレコードとDMARCレコードも設定:
各サービスの公式ドキュメントを参照してください。
トラブル4: 優先度が逆になっている
症状:
- バックアップサーバーにばかりメールが届く
原因:
優先度の数字が逆になっている。
間違った設定:
example.com MX 30 mail.example.com ← メインのはず
example.com MX 10 backup.example.com ← バックアップのはず
この場合、優先度10のbackup.example.comがメインサーバーとして扱われます。
正しい設定:
example.com MX 10 mail.example.com ← メイン
example.com MX 30 backup.example.com ← バックアップ
対処法:
優先度の数字を修正してください。
トラブル5: DNS浸透に時間がかかりすぎる
症状:
- MXレコードを変更したのに、48時間経っても反映されない
原因:
- TTLが長すぎる
- 設定ミス
- DNSサーバーのキャッシュ
対処法:
ステップ1: オンラインツールで確認
MXToolboxなどで、実際にMXレコードが見えるか確認
ステップ2: TTLを短くする
次回変更時は、事前にTTLを300秒(5分)に短縮しておく
ステップ3: レジストラに問い合わせ
設定が正しいのに反映されない場合、レジストラ(ドメイン管理会社)に問い合わせ
MXレコード設定時の注意点
1. 事前にAレコードを設定
MXレコードで指定するメールサーバーは、必ずAレコード(またはAAAAレコード)を設定しておく必要があります。
例:
mail.example.com A 192.0.2.1 ← 先に設定
example.com MX 10 mail.example.com ← 後で設定
2. CNAMEレコードは使えない
MXレコードの値にCNAMEレコードを指定することは禁止されています(RFC文書で定義)。
ダメな例:
www.example.com CNAME example.com
example.com MX 10 www.example.com ← これはNG
正しい例:
mail.example.com A 192.0.2.1
example.com MX 10 mail.example.com ← これはOK
3. 末尾のピリオド(.)
レジストラによって、ホスト名の末尾にピリオドが必要な場合があります。
ピリオドあり:
smtp.google.com.
ピリオドなし:
smtp.google.com
設定画面の指示に従ってください。
4. 古いMXレコードは必ず削除
サービスを切り替える際は、古いMXレコードを必ず削除してください。
削除しないと起こる問題:
- メールが2つのサーバーに分散
- 古いサーバーに届いたメールが見られない
- メール配送が不安定になる
5. サブドメインの設定
サブドメインごとに異なるメールサーバーを使える場合があります。
例:
example.com MX 10 mail.example.com
blog.example.com MX 10 mail-blog.example.com
この場合、@example.comと@blog.example.comは別のメールサーバーを使います。
6. テスト期間を設ける
本番切り替え前に、テスト用メールアドレスで動作確認をしましょう。
確認すること:
- メールの受信
- メールの送信
- 既存のメールボックスからの移行
よくある質問

Q1: MXレコードの優先度は大きい方がいい?小さい方がいい?
A: 小さい数字が優先度が高いです。
覚え方: 「数字が小さい = 優先度が高い = 先に使われる」
例:
優先度 0: 真っ先に使われる
優先度 10: よく使われる
優先度 20: たまに使われる(バックアップ)
優先度 30: 滅多に使われない
Q2: MXレコードは何個設定すればいい?
A: 最低1個、推奨2〜3個です。
パターン1: 最小構成(1個)
example.com MX 10 mail.example.com
- シンプル
- でもサーバーが故障するとメールが届かない
パターン2: 推奨構成(2個)
example.com MX 10 mail1.example.com
example.com MX 20 mail2.example.com
- バックアップがある
- メインサーバー故障時も安心
パターン3: 高可用性構成(3個以上)
example.com MX 10 mail1.example.com
example.com MX 20 mail2.example.com
example.com MX 30 mail3.example.com
- さらなる冗長化
- 大企業やメール依存度の高い組織向け
Q3: Gmail(Google Workspace)とMicrosoft 365を両方使える?
A: 基本的にはできません。推奨されません。
理由:
MXレコードは1つのドメインに対して1つのメールシステムを指定します。
どうしても両方使いたい場合:
- サブドメインを使う
@example.com→ Gmail@office.example.com→ Microsoft 365
注意: 同じドメインで両方使うと、メールがどちらに届くか予測不能になります。
Q4: 変更後、いつからメールが受信できる?
A: 通常1〜4時間、最大48時間です。
理由:
DNS浸透(DNS propagation)には時間がかかります。
タイムライン:
- 0〜1時間: 一部のサーバーで反映開始
- 1〜4時間: ほとんどのサーバーで反映
- 4〜24時間: 世界中のサーバーで反映
- 24〜48時間: すべてのサーバーで反映(ほぼ確実)
この間の注意:
- 古いサーバーと新しいサーバーの両方にメールが届く可能性
- 重要なメールは送信を控える
- テストメールで確認
Q5: MXレコードを間違えたらどうなる?
A: メールが届かなくなります。
具体的な症状:
- スペルミス → 配送エラー
- 存在しないサーバー → 配送失敗
- 優先度ミス → バックアップサーバーがメインになる
対処法:
すぐに正しい設定に修正してください。DNS浸透を待てば復旧します。
Q6: 無料メールサービスのMXレコードは?
A: 主要サービスのMXレコードは以下の通りです。
Gmail(無料版、@gmail.com):
Gmail本体のMXレコードは個人で設定できません。独自ドメインを使う場合はGoogle Workspaceが必要です。
Google Workspace:
smtp.google.com(優先度1)
Microsoft 365:
[ドメイン名]-com.mail.protection.outlook.com(優先度0)
Zoho Mail:
mx.zoho.com(優先度10)
mx2.zoho.com(優先度20)
Q7: サブドメインのMXレコードはどう設定する?
A: ホスト名にサブドメインを指定します。
例: mail.example.com用のMXレコード
設定:
ホスト名: mail
タイプ: MX
優先度: 10
値: mailserver.example.com
または
ホスト名: mail.example.com
タイプ: MX
優先度: 10
値: mailserver.example.com
まとめ
MXレコードについて解説しました。
重要ポイント:
MXレコードとは:
- メールをどこに配送するかを指定するDNSレコード
- メールを使うなら必須
- 正しく設定しないとメールが届かない
構成要素:
- ホスト名: どのドメイン宛か
- 優先度: 数字が小さいほど優先度が高い
- 値: メールサーバーのホスト名
- TTL: キャッシュ時間
優先度のルール:
- 0が最優先
- 10、20、30の順に優先度が下がる
- 同じ数字 = ランダム配送(負荷分散)
Gmail/Google Workspace:
- 新規:
smtp.google.com(優先度1) - レガシー: 5つのMXレコード
Microsoft 365:
[ドメイン名]-com.mail.protection.outlook.com(優先度0)
設定時の注意:
- 事前にAレコードを設定
- 古いMXレコードは削除
- CNAMEは使えない
- DNS浸透には最大48時間
確認方法:
- MXToolbox(https://mxtoolbox.com/)
- nslookupコマンド
- digコマンド
トラブル対処:
- MXレコードを確認
- Aレコードを確認
- 古いレコードを削除
- SPF/DKIM/DMARCも設定
MXレコードは独自ドメインでメールを使う上で絶対に必要な設定です。正しく設定して、快適なメール環境を手に入れましょう!

コメント