2024年2月からの、Gmail、Yahoo! Mailのガイドラインアップデート対応において、
最低限これやっておけばギリギリセーフ的なメモ。
準備
- 対象ドメインのDNSレコードの編集が可能であること。
- 確認コマンド(dig)を使える状態にしておく。
SPF(えすぴーえふ)
所持しているドメインのTXTレコードに、SPFの記述をする。
例
v=spf1 include:_spf.example.com ~all
確認例
$ dig +short example.com txt
"v=spf1 include:_spf.example.com ~all"
注意ポイント
1. SPFを複数指定したいときは?
SPFの記述は1行にまとめる必要がある。
v=spf1 include:_spf.example1.com ~all include:_spf.example2.com ~all
このように2つのレコードを登録するのは間違い。
v=spf1 include:_spf.example1.com ~all
v=spf1 include:_spf.example2.com ~all
2. SPFについて検索すると、SPFレコード
の設定をするといった記事が見つかることがあるが、
SPFレコードは過去は使われていたが、
現在は、SPFについての記述をTXTレコード内に記述するのが定石。
SPFレコードの設定もできるにはできるがモダンな設定にしよう。
DKIM(でぃーきむ)
メールサーバーとして利用しているMTA次第で、やることが異なる。
原理としては共通なので、そこまで複雑に考える必要はない。
Google Workspaceの場合
ドメインで DKIM を有効にする
https://support.google.com/a/answer/180504?hl=ja
DKIM用のレコードを取得なり生成なりできるはずなので、
生成されたレコードをDNSに新しいTXTレコードとして登録する。
レコードのイメージ
"v=DKIM1; k=rsa; p=MIIBIjANBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX~~~"
確認例(Googleのデフォルトのセレクタの場合)
$ dig +short google._domainkey.example.com txt
"v=DKIM1; k=rsa; p=MIIBIjANBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX~~~"
注意ポイント
DNSとして、AWSのRoute53を使っている場合は、
""で前半と後半に分割して設定しないと文字数の制限で登録できない。
且つ、前半と後半は改行なしにしないと1行にまとまらない。
例
"前半""後半"
ダメな例
"前半"
"後半"
DMARC(でぃーまーく)
ポリシーを決める。
考えたくない場合の最低はこんな感じ。
"v=DMARC1;p=none;rua=mailto:hogehoge@example.com;"
注意ポイント
設定対象ドメインと異なるドメインにレポートを送りたいときは、
受け入れ先ドメインでの _report のレコードが必要。
example.comについてのレポートを、example2.com のドメインに送信したい場合。
確認例
$ dig +short example.com._report._dmarc.example2.com txt
"v=DMARC1"
TLS
自前MTAならともかく、近年のモダンなMTAならばTLSでの送信がデフォルト。
List-Unsubscribe
めんどい。
マーケティング目的のメール送信をしていなければパスもあり。
そもそも絶対順守すべきことって?
大規模送信者・・・SPF & DKIM & DMAARC & TLS & List-Unsubscribe
そうでない送信者・・・SPF or DKIM
DMARCは必須ではないが、普及させようと各社躍起になっているのと、
設定すること自体は簡単なので、ついでにやろう。