認証とDNS
DNS TXTレコード
DNS TXTレコードとは、ドメインの設定に保存された1行のテキストです。メールサーバーはTXTレコードを読んで、SPF、DKIM、DMARCを確認します。ほかのサービスは、ドメインの所有者であることを確認するために読みます。
DNS TXTレコードとは?
DNS TXTレコードとは、ドメインの設定に保存された1行のテキストです。インターネット上の誰でも読むことができます。
まず、DNSについて説明します。DNSはDomain Name Systemの略です。ドメインの公開電話帳のような役割を果たします。誰かがドメインを入力すると、DNSはその人のコンピューターに、ドメインの場所を伝えます。DNSには、レコードと呼ばれるさまざまな種類のエントリーがあります。レコードの種類ごとに、役割は1つです。
TXTレコードはテキストを保存します。誰かをどこかへ案内することはありません。ドメインに付けたメモです。ほかのシステムがそのメモを読み、内容に従って動きます。
TXTレコードの用途
メールでは、TXTレコードに、メールが本物であることを証明するルールを保存します。
| 用途 | レコードを置く場所 | 値の例 |
|---|---|---|
| SPF | 自社のドメイン(例:example.com) | v=spf1 include:_spf.google.com ~all |
| DKIM | selector._domainkey.example.com | v=DKIM1; k=rsa; p=MIIBIjANBg... |
| DMARC | _dmarc.example.com | v=DMARC1; p=none; rua=mailto:reports@example.com |
| ドメインの所有確認 | 自社のドメイン | google-site-verification=abc123... |
上の値は短くした例です。実際の値は、メールプロバイダーや接続するサービスから提供されます。
簡単な例
TXTレコードを追加する流れは次のとおりです。
- マルコがGoogle Workspaceを使い始めます。marco@studio.exampleから送るメールを、受信トレイに届けたいと考えています。
- Googleが値を示します。設定ガイドに、
v=spf1 include:_spf.google.com ~allというSPFレコードを追加するよう書かれています。 - マルコがドメインの設定を開きます。ドメインを購入した会社のサイトにログインします。この会社をレジストラ、またはDNSホストと呼びます。
- TXTレコードを追加します。種類にTXTを選び、名前はドメインのままにして、値を貼り付けます。
- 反映を待ちます。変更がすべての場所に反映されるまで、数分から数時間かかることがあります。
- サーバーが確認できるようになります。マルコがメールを送ると、受信側のサーバーがマルコのTXTレコードを読みます。Googleのサーバーがstudio.exampleのメールを送ってよいことがわかります。
TXTレコードが壊れる原因
TXTレコードの問題のほとんどは、いくつかの単純なミスから生じます。
- SPFレコードは1つのドメインに1つだけ。
v=spf1で始まるTXTレコードが2つあると、SPFは失敗します。1つのレコードにまとめてください。 - 長い値は分割されます。TXTレコードの1つのテキストに入るのは、最大255文字です。DKIMの鍵のような長い値は、複数の部分に分けて保存されます。ほとんどのDNSホストは、これを自動で行います。
- 正確な名前を使います。DMARCレコードは、メインのドメインではなく
_dmarcに置く必要があります。DKIMレコードは、プロバイダーから指定されたセレクター名に置く必要があります。 - 値を正確にコピーします。1文字欠けるだけで、レコードは機能しなくなります。
TXTレコードの確認方法
どのドメインのTXTレコードでも読むことができます。MacやLinuxのコンピューターでは、ターミナルを開いて dig TXT example.com と入力します。Windowsでは、nslookup -type=TXT example.com と入力します。
Giggal.aiのSPFチェッカーを使うこともできます。ドメインのSPFレコードを読み、何が許可されているかを説明します。
TXTレコードと検証の関係
TXTレコードは、送るメールを守ります。メールが自社から送られたことを証明します。送り先の相手が今もメールボックスを持っているかどうかは、何も示しません。
それは別の確認です。メールアドレスチェッカーは、アドレスが存在するかを受信側のサーバーに確認します。ドメインの正しいレコードと、実在するアドレスだけのきれいなリストの両方が必要です。
関連する用語
- SPFレコードSPFレコードとは、ドメイン上に置く1行のテキストで、そのドメインのメールを送ってよいサーバーを一覧にしたものです。受信側のサーバーはこれを確認し、ドメインから送られたと名乗るメールが、そのドメインのサーバーから送られたことを確かめます。
- DKIMDKIMはDomainKeys Identified Mailの略です。送るすべてのメールに電子署名を付けます。受信側のサーバーは署名を確認し、メールがそのドメインから送られ、送信後に変更されていないことを確かめます。
- DMARCDMARCは、ドメインのDNSに公開するルールです。ドメインから送られたと名乗っているのにSPFとDKIMに失敗したメールを、どう扱うかを受信側のサーバーに伝えます。レポートの送り先も伝えます。
- MXレコードMXレコードとは、そのドメインのメールをどのサーバーが受け取るかを示す、ドメインの設定です。name@example.comにメールを送ると、メールサーバーはexample.comのMXレコードを調べて、メールの配信先を見つけます。
- PTRレコードPTRレコードとは、IPアドレスをサーバー名に結び付けるDNSレコードです。通常のDNSレコードとは逆の向きです。メールサーバーは、送ってきたIPアドレスのPTRレコードを確認し、PTRレコードのないIPアドレスからのメールを拒否するサーバーもあります。
- BIMIBIMIは、対応している受信トレイで、メールの横にブランドのロゴを表示するメールの標準規格です。Brand Indicators for Message Identificationの略です。ドメインがquarantineかrejectのポリシーでDMARCに合格している場合にだけ機能します。
