SPFレコードとは
SPF(Sender Policy Framework)レコードは、メールを送信する際にドメインからを許可されているメールサーバーかどうかを特定するDNSレコードです。メールの送信元が許可されたサーバーかどうかを判断することで、迷惑メールの防止に役立つというレコードです。
SPFレコードの記述例
このサイト「terakoya.work」のSPF レコードの設定は以下の通りです。さくらインターネットのレンタルサーバーを借りてます。
v=spf1 a:www2334.sakura.ne.jp mx ~all
v=spf1 | SPFレコードのバージョンです。必須項目なので先頭に必ず記述します。 |
---|---|
a:www2334.sakura.ne.jp | メールサーバーをドメイン名で承認します。ipv4やipv6でIPアドレスの範囲指定をする場合もあり。 |
mx | メールサーバーをドメインの MX レコードで承認します。 |
~all | SPF レコードに ~all(SoftFail 限定子)が含まれている場合、SPF レコードにない送信元からのメールは受信サーバーで通常は受け入れられますが、不審なメールとして扱われます。 |
他にもSPF レコードの機構やSPF レコードの限定子があるので、詳しくは「Google Workspace 管理者ヘルプ:SPF レコードについて」を参考に。
SPFレコードを複数設定する方法
ここで本題。例えば、このサイトのSPFレコードに、Google Workspace v=spf1 include:_spf.google.com ~all
を追加したい場合で解説。SPFレコードは、DNSのTXTレコードに記述します。
正しい書き方
以下のように設定します。
# 【正】SPFレコードの複数設定
v=spf1 a:www2334.sakura.ne.jp mx include:_spf.google.com ~all
v=spf1
は先頭に1つだけにして、末尾の~all
も1つにします。3つまではやったことあるんだけど、いくつまで設定できるんだろ?まぁ、そんなに沢山設定することはないだろうけど。
動作しないパターン
よくやりがち(実際に自分もやってしまった)間違い例は、以下の通り
# 【誤】続けて書いてしまって動作しないパターン
v=spf1 a:www2334.sakura.ne.jp mx ~all include:_spf.google.com ~all
# 【誤】TXTレコードを複数設定して動作しないパターン
v=spf1 a:www2334.sakura.ne.jp mx ~all
v=spf1 include:_spf.google.com ~all
2番目の間違いパターンをやってしまって、動かん!と1時間ぐらい悩んだ。
SPFレコードの設定確認
設定が完了したらSPFレコードの設定がうまくいっているかをチェックします。SPFレコードの設定を確認できるサイトがあります。
できた!\(^o^)/
最近、DNS設定をすることがホント増えた。フロントエンジニアのはずなんだけど、改めようかな。
参考サイト
- Google Workspace 管理者ヘルプ:SPF レコードについて
- https://support.google.com/a/answer/10683907?hl=ja