DNS MXレコードとは?設定方法と優先度をわかりやすく解説

Web

独自ドメインでメールアドレスを使おうとして、こんな経験はありませんか?

「メールが送れない」
「メールが届かない」
「Gmail(Google Workspace)に切り替えたのにメールが受信できない」
「Microsoft 365でメールが使えない」

その原因、MXレコードの設定ミスかもしれません。

MXレコードは、メールを正しく配送するために絶対に必要な設定です。でも、「優先度って何?」「どう設定すればいいの?」と困っている方も多いはず。

この記事では、MXレコードの基本から、Gmail・Microsoft 365の具体的な設定方法、トラブルシューティングまで、初心者にもわかりやすく解説します!


スポンサーリンク
  1. MXレコードとは?
    1. 一言で言うと
    2. 郵便の配送に例えると
    3. なぜ必要なの?
  2. MXレコードの仕組み
    1. ステップ1: メール送信
    2. ステップ2: 送信側メールサーバーが動作開始
    3. ステップ3: DNSサーバーに問い合わせ
    4. ステップ4: MXレコードを取得
    5. ステップ5: メール配送
    6. ステップ6: 受信完了
  3. MXレコードの構成要素
    1. 1. ホスト名(ドメイン名)
    2. 2. レコードタイプ
    3. 3. 優先度(Priority/Preference)
    4. 4. メールサーバーのホスト名(Value)
    5. 5. TTL(Time To Live)
  4. MXレコードの書き方
    1. 基本的な書式
    2. 具体例
  5. 優先度の仕組み
    1. 優先度の基本ルール
    2. なぜ複数のMXレコードを設定するの?
  6. MXレコードの設定方法(一般的な手順)
    1. ステップ1: 事前準備
    2. ステップ2: DNSマネージャーにアクセス
    3. ステップ3: DNS設定画面を開く
    4. ステップ4: MXレコードを追加
    5. ステップ5: 保存
    6. ステップ6: 反映を待つ
  7. Gmail(Google Workspace)のMXレコード設定
    1. 2023年4月以降に契約した場合
    2. 2023年4月より前に契約した場合(レガシーMXレコード)
    3. 設定手順(お名前.comの例)
    4. 既存のMXレコードを削除
  8. Microsoft 365のMXレコード設定
    1. MXレコードの値を確認
    2. MXレコードの設定
    3. 複数のMXレコード(冗長化)
    4. スパムフィルターを使う場合
  9. MXレコードの確認方法
    1. 方法1: オンラインツールを使う
    2. 方法2: コマンドライン(Windows)
    3. 方法3: コマンドライン(Mac/Linux)
    4. 確認すべきポイント
  10. よくあるトラブルと対処法
    1. トラブル1: メールが受信できない
    2. トラブル2: 古いサーバーにメールが届く
    3. トラブル3: 送信したメールが迷惑メールになる
    4. トラブル4: 優先度が逆になっている
    5. トラブル5: DNS浸透に時間がかかりすぎる
  11. MXレコード設定時の注意点
    1. 1. 事前にAレコードを設定
    2. 2. CNAMEレコードは使えない
    3. 3. 末尾のピリオド(.)
    4. 4. 古いMXレコードは必ず削除
    5. 5. サブドメインの設定
    6. 6. テスト期間を設ける
  12. よくある質問
    1. Q1: MXレコードの優先度は大きい方がいい?小さい方がいい?
    2. Q2: MXレコードは何個設定すればいい?
    3. Q3: Gmail(Google Workspace)とMicrosoft 365を両方使える?
    4. Q4: 変更後、いつからメールが受信できる?
    5. Q5: MXレコードを間違えたらどうなる?
    6. Q6: 無料メールサービスのMXレコードは?
    7. Q7: サブドメインのMXレコードはどう設定する?
  13. まとめ

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.com
  • smtp.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)
  • ランダムにmail1mail2に配送される
  • サーバーの負荷が分散される

優先度の仕組み

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

配送の流れ:

  1. まず優先度10のmail1.example.comに配送を試みる
  2. 失敗したら優先度20のmail2.example.comを試す
  3. それも失敗したら優先度30のmail3.example.comを試す

ルール3: 同じ優先度の場合はランダム

example.com  MX  10  mail1.example.com
example.com  MX  10  mail2.example.com

この場合、mail1mail2にランダムに配送されます(負荷分散)。

なぜ複数の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: 事前準備

必要な情報を集める:

  1. ドメイン名(例: example.com)
  2. メールサーバーのホスト名(例: mail.example.com)
  3. メールサーバーのIPアドレス
  4. 優先度の値

重要: 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.comexample-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/
  • わかりやすいインターフェース

使い方:

  1. ツールにアクセス
  2. 自分のドメイン名を入力(例: example.com)
  3. レコードタイプで「MX」を選択
  4. 検索ボタンをクリック
  5. 結果を確認

方法2: コマンドライン(Windows)

nslookupコマンド:

  1. コマンドプロンプトを開く(Windowsキー + R → cmd
  2. 以下のコマンドを入力:
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: メールが受信できない

症状:

  • 自分のドメイン宛のメールが届かない
  • エラーメールが返ってくる

原因:

  1. MXレコードが設定されていない
  2. MXレコードの値が間違っている
  3. メールサーバーの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時間経っても反映されない

原因:

  1. TTLが長すぎる
  2. 設定ミス
  3. 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レコードは独自ドメインでメールを使う上で絶対に必要な設定です。正しく設定して、快適なメール環境を手に入れましょう!

コメント

タイトルとURLをコピーしました