認証とDNS
PTRレコード
PTRレコードとは、IPアドレスをサーバー名に結び付けるDNSレコードです。通常のDNSレコードとは逆の向きです。メールサーバーは、送ってきたIPアドレスのPTRレコードを確認し、PTRレコードのないIPアドレスからのメールを拒否するサーバーもあります。
PTRレコードとは?
PTRレコードとは、IPアドレスをサーバー名に結び付ける設定です。PTRはpointerの略です。
最初にいくつかの言葉を説明します。サーバーとは、メールを送るなどのために、常に動いているコンピューターです。IPアドレスとは、203.0.113.10 のような、インターネット上のサーバーを識別する番号です。ホスト名とは、mail.example.com のような、1台のサーバーの名前です。DNSとは、名前と番号を結び付ける、インターネット上の公開ディレクトリです。DNSの各エントリーをレコードと呼びます。
通常のDNSレコードは、名前をIPアドレスに結び付けます。たとえば、mail.example.com は 203.0.113.10 を指します。PTRレコードは、その逆を行います。203.0.113.10 を mail.example.com に結び付けます。これを逆引きDNSと呼びます。
PTRレコードは、自社のドメインのDNSにはありません。IPアドレスの所有者に属する、別のDNSゾーンにあります。ゾーンとは、1人の所有者が管理するDNSレコードのまとまりです。所有者は通常、ホスティング会社かメールプロバイダーです。PTRレコードを設定したり変更したりするには、その会社に依頼します。
簡単な例
送信サーバーにPTRレコードがないと何が起きるかを見てみます。
- 会社がメールサーバーを用意します。Green Garden Ltdは、IPアドレス
203.0.113.10で自社のメールサーバーを運用しています。 - メールを送ります。サーバーが、Gmailアドレスを持つ顧客にニュースレターを送ります。
- GmailがPTRレコードを調べます。GmailはIPアドレス
203.0.113.10を確認します。このIPアドレスに対応する名前をDNSに問い合わせます。 - 答えがありません。誰もこのIPアドレスにPTRレコードを設定していません。
- Gmailがメールを拒否します。コード
550 5.7.25を返します。メッセージには、送信元のIPアドレスにPTRレコードがないと書かれています。 - Green Gardenが対処します。ホスティング会社に、
203.0.113.10のPTRレコードをmail.greengarden.exampleに設定するよう依頼します。 - 次のメールはこの確認に合格します。Gmailがもう一度PTRレコードを調べると、同じIPアドレスを指し返す名前が見つかります。
顧客のアドレスには、ずっと問題がありませんでした。足りなかったのは、送信者側の設定だけです。
メールサーバーが確認する理由
送信側のサーバーが受信側のサーバーに接続すると、受信側のサーバーには送信元のIPアドレスが見えます。受信側は、そのIPのPTRレコードを調べます。そして、2つのことを確認します。
- そのIPアドレスにPTRレコードがあるか。
- PTRレコードにあるホスト名が、同じIPアドレスを指し返しているか。
例:203.0.113.10 のPTRレコードは mail.greengarden.example です。mail.greengarden.example の通常のDNSレコードは 203.0.113.10 です。お互いを指しているので、どちらの答えも「はい」です。
両方が当てはまれば、送信者は、誰かが意図して設定した本物のメールサーバーに見えます。PTRレコードがなければ、送信者は次の3つのどれかに見えます。
- 家庭のインターネット回線
- 感染したコンピューター
- 誰も設定していないサーバー
スパムは、これらから送られてくることがよくあります。
PTRレコードがないと起きること
メールを拒否するプロバイダーもあります。Gmailのエラー一覧には、550 5.7.25 This message was blocked because the sending IP address doesn't have a PTR record があります。これは恒久的な拒否です。アドレスは存在していても、配信ツールはこれをハードバウンスとして記録します。ハードバウンスとは、恒久的に拒否されたメールです。
メールを受け付けるものの、低いスコアを付けるプロバイダーもあります。スコアが低いと、メールが迷惑メールフォルダに入りやすくなります。つまりPTRレコードがないと、エラーが返ってこなくても不利になることがあります。
PTRレコードの設定方法
- メールの送信元のIPアドレスを調べます。
- そのIPが指すホスト名を決めます。例:
mail.example.com。 - そのホスト名に、同じIPアドレスを指す通常のDNSレコードがあることを確認します。
- ホスティング会社かメールプロバイダーに、そのIPアドレスのPTRレコードをそのホスト名に設定するよう依頼します。
- そのIPアドレスで逆引きDNSの検索を行います。手順2で決めたホスト名が表示されるはずです。
Google Workspace、Microsoft 365、SendGrid、Amazon SESを通じて送る場合、送信元のIPアドレスはプロバイダーが所有しています。PTRレコードはすでに設定されています。PTRレコードを設定する必要があるのは、自社でメールサーバーを運用している場合か、専用IPアドレスを使う場合だけです。専用IPアドレスとは、自社だけがメールを送るのに使うIPアドレスです。
PTRレコードと検証
PTRレコードは、送信者のIPアドレスに関するものです。受信者のアドレスに関するものではありません。メールアドレスチェッカーでリストを検証するのに、自社のPTRレコードは必要ありません。メールアドレスの一括検証ツールでも必要ありません。
一方、検証ツールは、自分の各IPアドレスにPTRレコードを必要とします。PTRレコードがないと、受信側のサーバーがやりとりに応じません。これが、検証サービスとノートパソコンから実行したスクリプトとで、答えが異なる理由の1つです。メールアドレス検証は、リストのアドレスが存在するかを確認します。自社のPTRレコードはそれとは別の設定で、ホスティング会社やメールプロバイダーに依頼して直します。
関連する用語
- MXレコードMXレコードとは、そのドメインのメールをどのサーバーが受け取るかを示す、ドメインの設定です。name@example.comにメールを送ると、メールサーバーはexample.comのMXレコードを調べて、メールの配信先を見つけます。
- SPFレコードSPFレコードとは、ドメイン上に置く1行のテキストで、そのドメインのメールを送ってよいサーバーを一覧にしたものです。受信側のサーバーはこれを確認し、ドメインから送られたと名乗るメールが、そのドメインのサーバーから送られたことを確かめます。
- IPレピュテーションIPレピュテーションとは、GmailやOutlookなどのメールボックスプロバイダーが、メールの送信元のIPアドレスをどれだけ信頼しているかです。IPアドレスとは、インターネット上のサーバーを識別する番号です。IPレピュテーションが悪いと、メールは迷惑メールフォルダに入るか、ブロックされます。
- DNS TXTレコードDNS TXTレコードとは、ドメインの設定に保存された1行のテキストです。メールサーバーはTXTレコードを読んで、SPF、DKIM、DMARCを確認します。ほかのサービスは、ドメインの所有者であることを確認するために読みます。
- SMTPSMTPはSimple Mail Transfer Protocolの略です。メールサーバー同士がメールを送り合うためのルールの集まりです。送るメールはすべて、SMTPを使ってサーバーからサーバーへ届けられます。
