Route 53 で SMTP サーバーの MX レコードを作成した後、サーバーがメールを受信できないのはなぜですか?

最終更新日: 2021 年 4 月 24 日

Amazon Route 53 で Simple Mail Transfer Protocol (SMTP) サーバーのメールエクスチェンジャー (MX) レコードを作成しました。現在、サーバーは E メールを受信できません。これを解決するにはどうすればよいですか?

簡単な説明

Route 53 DNS サービス用に設定したパブリックホストゾーンが正しく設定されていない場合、クライアントは SMTP サーバーに接続できません。次のことを確認してください。

  • パブリックホストゾーンに適切なリソースレコードセットが設定されていること。
  • AWS 以外のドメイン名レジストラが、Route 53 パブリックホストゾーンのネームサーバーをポイントしていること。

解決方法

注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、最新の AWS CLI バージョンを使用していることを確認してください

適切なリソースレコードセットを使用していることを確認する

SMTP サーバー用の適切なリソースレコードセットを作成していることを確認します。詳細については、Amazon Route 53 リソースレコードの作成または編集時に指定する値をご参照ください。パブリックホストゾーンには、少なくとも SMTP サーバーの MX レコードが含まれている必要があります。詳細については、シンプルなレコードの値をご参照ください。

AWS 以外のドメイン名レジストラが Route 53 パブリックホストゾーンのネームサーバーをポイントしていることを確認する

2.    DNS サービスに Route 53 を使用し、ドメイン登録に別のドメイン名レジストラを使用している場合は、ドメイン名レジストラが Route 53 パブリックホストゾーンのネームサーバーを参照していることを確認します。これを行うには、インターネットベースの whois ユーティリティをクエリして、次の操作を実行します。

  • ドメイン名のレジストラを探します。 クエリフィールドにドメイン名を入力し、[Domain] (ドメイン) オプションを選択して、[Submit] (送信) を選択します。クエリ結果には、ドメイン名に対応するドメイン名レジストラと権威ネームサーバーが含まれます。
    注: クエリ結果から Route 53 パブリックホストゾーンに関連付けられたネームサーバー以外のネームサーバーのリストが返される場合、SMTP サーバーの DNS クエリは Route 53 に送信されません。ドメイン名レジストラに問い合わせて、ドメイン名に関連付けられたネームサーバーの一覧を更新してください。
  • ドメインレジストラの連絡先情報を検索します。 クエリフィールドにレジストラの名前を入力し、[Registrar] (レジストラ) オプションを選択して、[Submit] (送信) を選択します。この情報を使用して、ドメインレジストラにお問い合わせください。ドメインの Route 53 パブリックホストゾーン内のネームサーバーを参照するように、ドメイン名のネームサーバーのリストを更新するようドメインレジストラに依頼してください。
  • お客様のドメインのリソースレコードセットが (レジストラのネームサーバーで Time to Live (TTL) が期限切れになる前に) 転送元の DNS サービスによって削除されないようにします。 ドメインネームサーバーレコードの TTL 期間が経過するまで、Route 53 DNS サービスはドメイン名の DNS クエリに応答しません。詳細については、DNS 設定を変更したが、設定が有効になっていないをご参照ください。

DNS MX レコードセットの問題を確認する

1.    次のコマンドを使用して、ドメインの MX レコードが存在することを確認します。

Linux または macOS では次を使用します:

dig <domain name> MX

dig の出力例:

$ dig amazon.com MX

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.amzn2.2 <<>> amazon.com MX
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61726
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;amazon.com.                    IN      MX

;; ANSWER SECTION:
amazon.com.             300     IN      MX      5 amazon-smtp.amazon.com.
;; Query time: 1 msec
;; SERVER: 10.10.0.2#53(10.10.0.2)
;; WHEN: Wed Apr 14 06:21:43 UTC 2021
;; MSG SIZE  rcvd: 67

Windows では、次を使用します:

nslookup -type=MX <domain name>

nslookup の出力例:

$ nslookup -type=MX amazon.com
Server:         10.10.0.2
Address:        10.10.0.2#53

Non-authoritative answer:
amazon.com      mail exchanger = 5 amazon-smtp.amazon.com.

2.    次のコマンドを使用して、MX レコードのホスト名を解決できることを確認します。

Linux または macOS では次を使用します:

dig <MX record>

dig の出力例:

$ dig amazon-smtp.amazon.com

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.amzn2.2 <<>> amazon-smtp.amazon.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64180
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;amazon-smtp.amazon.com.                IN      A

;; ANSWER SECTION:
amazon-smtp.amazon.com. 27      IN      A       52.94.124.7

;; Query time: 1 msec
;; SERVER: 10.10.0.2#53(10.10.0.2)
;; WHEN: Wed Apr 14 06:41:18 UTC 2021
;; MSG SIZE  rcvd: 67

Windows では、次を使用します:

nslookup <MX record>

nslookup の出力例:

$ nslookup amazon-smtp.amazon.com
Server:         10.10.0.2
Address:        10.10.0.2#53

Non-authoritative answer:
Name:   amazon-smtp.amazon.com
Address: 52.119.213.154

注: 一部の DNS プロバイダーでは、MX レコードセット名の先頭にアットマーク (@) を付ける必要があります。または、ルートドメインの MX レコードセットを作成するときに、プロバイダーから「@」という名前の MX レコードセットを作成することを求められる場合があります。しかし、Route 53 MX レコードセット名の先頭に「@」やその他の記号を付けないでください。Route 53 でルートドメインの MX レコードセットを作成するには、レコードセット名を空白のままにします。その後、Route 53 MX レコードセットの残りのフィールドに適切な値を指定します。

E メールの送受信をテストする

メールサーバーに接続し、SMTP コマンドを使用して E メールを送受信できるかどうかをテストします。

1.    次のコマンドを入力して、Enter キーを押します。

telnet <mail server name or IP> <mail server port number>

: このコマンドの入力中に入力ミスをした場合は、必ず Enter キーを押してください。この場合に Backspace キーまたは Delete キーを押しても機能しません。Enter キーを押した後、コマンドを再入力します。場合によっては、telnet セッションを閉じて再接続する必要があります。

2.    次のコマンドを入力して、Enter キーを押します。

EHLO <YOUR MAIL SERVER FULLY QUALIFIED DOMAIN NAME>

3.    次のコマンドを入力して、Enter キーを押します。

mail from: <your_name@yourdomainname>

サーバーは「250 OK」と応答します。

4.    次のコマンドを入力して、Enter キーを押します。

rcpt to: <recipient@yourdomainname>

注: 送信者と受信者は同じメールアドレスを持つことができます。

サーバーは「250 Accepted」(250 受け入れ済み) で応答します。

重要: サーバーが送信者や受信者などの情報を検証できる場合、メッセージは受け入れられたことが確認されます。

5.    次のコマンドを入力して、Enter キーを押します。

data

6.    次のコマンドを入力して、Enter キーを押します。

Subject: <specify subject here>

7.    次のコマンドを入力して、Enter キーを押します。

<specify your message here>

8.    次のコマンドを入力して、Enter キーを押します。

.

メッセージは配信のために受け入れられます。サーバーは「250 OK」と応答します。これは、E メールが送信されたことを示します。

9.    MX レコードが正しく設定されているにもかかわらず、SMTP サーバーが E メールを受信できない場合は、E メールのサービスプロバイダーにお問い合わせください。


この記事はお役に立ちましたか?


請求に関するサポートまたは技術サポートが必要ですか?