レ点腫瘍学ノート

日記/2024年/2月4日/Gmail送信エラー対策のためのSPF・DKIM・DMARK設定(バリューサーバー) の履歴ソース(No.2)

#author("2024-02-04T22:35:37+09:00;2024-02-04T22:14:07+09:00","default:tgoto","tgoto")
&tag();

2024年2月からGmailとYahoo!メールのポリシーが変わったので、今後送信数が増えたら(具体的には1日5,000通を超えると)こちらからのメールは全てGmailに跳ねられてしまう。それを防ぐためには、メール送信としてSMTPサーバーを設定しているドメインにSPF・DMARC・DKIMの設定がされていることが必要になる。

#ogp(https://it.impress.co.jp/articles/-/25853)

これを防ぐために必要な設定はGoogle側からもアナウンスがなされていて、独自ドメインなどからメールを送信している場合はSPF・DMARC・DKIMの設定が必要となる。もちろんサーバーに暗号化接続(TLS)の設定ができていることも必須である。

#ogp(https://support.google.com/a/answer/9948472)

GmailやYahoo!メールは簡単にメッセージのソースを見ることができて、そこで送信元でSPF・DMARC・DKIMの設定されているかどうかがわかる。

#ref(https://oncologynote.jp/img/005ef977fb.jpg,nolink)

このサイトではバリューサーバーを使っているが、ドメインのDNSはCloudflareを使っている。DNS設定をしているCloudflareに、バリューサーバーのSMTPサーバーからメールを送信する際にGmailで送信エラーとしてはねられるのを防ぐための対策として以下の設定をした。

* SPF [#ae67a893]

SPF設定は最も簡単で使用しているバリューサーバーのドメイン名が分かればCloudflareのDNSレコードに以下のレコードを追加するだけでできる。ただし、バリューサーバーの場合は include:mxr.valueserver.jpの一文を付け加えておくことが必要とのこと([[公式サイト:https://www.value-domain.com/userguide/manual/modspf]])。

,タイプ,TXT
,名前,oncologynote.jp
,コンテンツ,v=spf1 +ip4:xxx.x.xxx.xx include:mxr.valueserver.jp ~all

* DMARC [#le400968]

DMARCもCloudflare上でそれほど難しくなく設定できる。Cloudflare「メールセキュリティレコード」でDMARCの「レコードを作成」をクリックすれば簡単に作成画面に進める。

ポリシーは「何も表示しない(p=none)」「検疫(p=quarantine)」「拒否(p=reject)」の3種類から選べるが、最初は設定ミスでメールが送信できなくなると困るのでまずは「何も表示しない」で様子を見て、問題が起こらなさそうであれば「検疫」にステップアップするとよい。「検疫」とした場合のフィルタリングするメールの割合は、パーセンテージを10に設定すると、DMARCチェックに失敗したメールに対して10%のみポリシーを適用するようになる。

#ogp(https://www.skysnag.com/ja/blog/what-is-a-dmarc-policy-dmarc-policies-explained/)

,タイプ,TXT
,名前,dmarc
,コンテンツ,v=DMARC1;  p=none; rua=mailto:[email protected]

* DKIM [#e94e9557]

DKIMはCloudflare内だけでは設定が完結しない。サーバー側の対応も必要となるが、バリューサーバーは2024年1月31日からDKIM設定に対応した([[公式サイト:https://www.value-domain.com/information/detail/?no=20240115-1]])。同じGMOグループのレンタルサーバーであるコアサーバー、xreaもほぼ同時に対応している。おそらく他のレンタルサーバーもDKIMに対応したところが多いはず。

バリューサーバーのコントロールパネルでは「ドメインの利用」の中に新しく「DKIMの設定・鍵確認」という項目が作成されているのでこれをクリックする(まずドメインメールの設定が完了していることが必要)。その中でDKIM設定を行うドメインの「有効」にチェックを入れて確定すると、ドメインとDKIMレコードが作成される。例えば下記のようなレコードである。

> txt default._domainkey v=DKIM1; k=rsa; p=MIIBIxxxxxxxxx.......(暗号)

これのうち''default._domainkey''の部分をCloudflareのDKIMレコードの「名前」に、''v=DKIM1; k=rsa; p=MIIBIxxxxxxxxx.......(暗号)''の部分を「コンテンツ」に転記するとDKIMの設定が完了する。設定がうまくできているかどうかは、Cloudflareのメールアドレス設定欄の「DMARC Management」画面で参照することができ、「DKIMを使用中」の部分が「はい」になっていればよい。

,タイプ,TXT
,名前,default._domainkey(バリューサーバーではデフォルトでこれになるらしい)
,コンテンツ,v=DKIM1; k=rsa; p=MIIBIxxxxxxxxx.......(暗号)

* 上記設定の確認 [#u4911af7]

#ref(https://oncologynote.jp/img/005ef977fb_b.jpg)

Webメールの中には受信したメールの認証設定ができているかどうかを簡単に確認することができるものがある。

たとえばGmailの場合は前述の通り、受信したメールで「メッセージのソースを表示」とすればSPF・DKIM・DMARCにpassしたかどうか(SPFの場合はSOFTFAILなども)を確認することができる。Yahoo!が運営するymailの場合は受信したメールで「このメールの認証情報」を見れば同様にSPF・DKIM・DMARCにpassしたかどうかを見ることができる。たとえばymailの認証情報画面は下記のようになっていて、3つともがPASSになっていれば認証が正しくできていることがわかる。

#ref(https://oncologynote.jp/img/005ef977fb_c.jpg)

#navi(日記/2024年)

#pcomment