メールサーバーにPTRレコードは必要?逆引きDNSがないとGmailで迷惑メール・拒否される理由

Linux

自前のメールサーバーからGmailなどへメールを送信するとき、「PTRレコード(逆引きDNS)は必要なのか?」と疑問に思うことがあります。

SPF・DKIM・DMARCを設定しているから、PTRレコードまでは必要ないと思うかもしれません。

しかし現在のGmailのメール送信者ガイドラインでは、Gmailへメールを送信するすべての送信者について、送信元ドメインまたはIPアドレスに有効な正引き・逆引きDNSレコードを設定することが要件になっています。

PTRレコードがない、または逆引きしたホスト名を正引きしても元の送信IPアドレスへ戻らない場合、メールのレート制限や拒否につながる可能性があります。

メールサーバーのPTRレコードと逆引きDNS・正引きDNSの関係
送信元IPのPTRレコードとA・AAAAレコードの整合性を確認する方法

PTRレコードとは?

PTR(Pointer)レコードは、IPアドレスからホスト名を調べるために使用するDNSレコードです。

通常のAレコードでは、次のようにホスト名からIPアドレスを調べます。

mail.example.com
        ↓
203.0.113.10

これを「正引き」と呼びます。

PTRレコードでは反対方向に検索します。

203.0.113.10
        ↓
mail.example.com

これが「逆引き」です。

メールサーバーでは正引きと逆引きの整合性が重要

Googleのメール送信者ガイドラインでは、送信SMTPサーバーのパブリックIPアドレスについてPTRレコードが必要とされています。

さらに、PTRレコードから返されたホスト名にはAレコードまたはAAAAレコードがあり、それを正引きすると元の送信IPアドレスへ戻る必要があります。

例えば次のような状態です。

送信メールサーバー
203.0.113.10
      ↓ PTR
mail.example.com
      ↓ A
203.0.113.10

逆引きで取得したホスト名をもう一度正引きすると、同じ送信元IPアドレスへ戻ります。

PTRレコードがないとGmailではどうなる?

GoogleはPTRレコードが存在しない、または正引きとの整合性が取れていない送信元に対するエラーコードも公開しています。

代表的なものに次があります。

4.7.23

送信元IPアドレスにPTRレコードがない、またはPTRレコードの正引きDNSエントリが送信元IPアドレスと一致していない場合に、レート制限の対象となることがあります。

さらに、

5.7.25

では、PTRレコードがない、または正引きDNSが送信元IPアドレスを参照していないことを理由にメールがブロックされる場合があります。

つまりPTRレコードは、単なる「あった方がよい設定」ではなく、現在のGmailでは送信者要件の一つです。

PTRレコードがあれば迷惑メールにならない?

いいえ。

PTRレコードを正しく設定しただけで、メールが必ず受信トレイへ届くわけではありません。

Googleはメール送信者に対してPTR以外にも、

  • SPFまたはDKIM
  • TLSによるメール送信
  • RFC 5322に準拠したメール形式
  • 低い迷惑メール率の維持
  • 送信元IPやドメインのレピュテーション

などを求めています。

また、Gmailへ1日5,000件を超えて送信する送信者には、SPFとDKIMの両方に加えてDMARCなど追加要件があります。

そのため、

PTR OK
SPF OK
DKIM OK
DMARC OK

だから必ず迷惑メールにならない、というわけではありません。

SPF・DKIM・DMARCとPTRは何が違う?

PTRはSPF・DKIM・DMARCの代わりになる仕組みではありません。

それぞれ確認している内容が異なります。

  • PTR:送信元IPアドレスとホスト名のDNS上の対応を確認
  • SPF:そのIPアドレスがドメインからメールを送信してよいか確認
  • DKIM:電子署名を使ってメールの送信元や改ざんの有無を確認
  • DMARC:SPF/DKIMとFromドメインの整合性を利用して認証ポリシーを適用

メール配送を安定させるには、これらを組み合わせて考える必要があります。

SPF・DKIM・DMARCがpassでも迷惑メールになることがある

実際のメールヘッダーを確認すると、

spf=pass
dkim=pass
dmarc=pass

となっていても、受信側の迷惑メール判定はそれだけで決まるわけではありません。

メールの認証結果だけでなく、送信元IP・ドメインの評価、メールの内容、送信量、ユーザーからの迷惑メール報告など、さまざまな要素が影響します。

そのため「SPF/DKIM/DMARCが全部passなのに迷惑メールになる」という場合でも、PTRや送信元IPの状態を確認する価値があります。

PTRレコードをdigで確認する

LinuxやmacOSでは、digコマンドで逆引きを確認できます。

dig -x 203.0.113.10

正常にPTRが設定されていれば、ホスト名が返ります。

例えば、

203.0.113.10
      ↓
mail.example.com

のような結果になったとします。

次にそのホスト名を正引きします。

dig mail.example.com

ここで、

mail.example.com
      ↓
203.0.113.10

と元のIPアドレスへ戻るか確認します。

nslookupでも確認できる

Windowsではnslookupでも確認できます。

nslookup 203.0.113.10

PTRレコードからホスト名が取得できたら、そのホスト名を正引きします。

nslookup mail.example.com

正引き結果がメール送信時に使用しているグローバルIPアドレスと一致しているか確認します。

どのIPアドレスのPTRを確認すればいい?

ここで注意したいのが、社内メールサーバー自身のプライベートIPアドレスではありません。

確認したいのは、インターネット上の受信メールサーバーから見える最終的な送信元グローバルIPアドレスです。

例えば、

業務システム
 ↓
Postfix
 ↓
FortiMail
 ↓
NAT / Firewall
 ↓
インターネット
 ↓
Gmail

という構成なら、GmailへSMTP接続している最終的な送信元IPを確認します。

受信したメールのヘッダーにあるReceived:やReceived-SPF:なども、実際の送信経路を確認する手掛かりになります。

PTRレコードはどこで設定する?

PTRレコードは通常のドメインDNSレコードとは管理方法が異なる場合があります。

AレコードやMXレコードは自分が管理するDNSサーバーで設定できても、グローバルIPアドレスのPTRレコードは、そのIPアドレスを管理しているISP、データセンター、クラウド事業者などで設定することがあります。

そのためDNS管理画面にPTRの設定項目が見つからない場合は、グローバルIPアドレスを提供している事業者へ確認します。

PTRにはどんなホスト名を設定する?

例えば送信メールサーバーとして、

mail.example.com

を使用するなら、次のように正引き・逆引きが一致する構成が分かりやすいでしょう。

203.0.113.10
      ↓ PTR
mail.example.com
      ↓ A
203.0.113.10

重要なのは、PTRで返されたホスト名を正引きした結果が、実際の送信元IPアドレスと一致していることです。

メールが迷惑メールになるときの確認項目

自前のメールサーバーから送信したメールがGmailなどで迷惑メールになった場合は、PTRだけを見るのではなく、次の項目をまとめて確認します。

  • 送信元グローバルIPにPTRがあるか
  • PTRで返るホスト名を正引きすると元のIPへ戻るか
  • SPFがpassしているか
  • DKIMがpassしているか
  • DMARCがpassしているか
  • 送信元IPがブロックリストに掲載されていないか
  • 送信元IPやドメインのレピュテーションに問題がないか
  • 迷惑メール報告率が高くなっていないか

Gmailの場合はGoogle Postmaster Toolsを利用すると、送信ドメインやIPに関する情報を調査する手掛かりになります。

まとめ

メールサーバーからGmailなどへメールを送信する場合、PTRレコードは重要です。

特にGmailでは、現在のメール送信者ガイドラインで有効な正引き・逆引きDNSレコードが送信者要件になっています。

確認するポイントは、

送信元IP
   ↓ PTR
ホスト名
   ↓ A / AAAA
元の送信元IP

という関係が成立していることです。

ただし、PTRを設定すれば迷惑メール問題がすべて解決するわけではありません。

PTR・SPF・DKIM・DMARC・送信レピュテーションなどをまとめて確認することが、メール配送トラブルを調査するときには重要です。

参考情報

コメント

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