プログラマーのメモ書き

伊勢在住のプログラマーが気になることを気ままにメモったブログです

さくらインターネットのメールで DKIM を設定しました

以前よりなかなか DKIM に対応していなかったさくらインターネット(のレンタルサーバー)ですが、 2024年2月から Gmail で DKIM が必須になるということの影響か、やっと DKIM に対応してくれました。

【さくらのレンタルサーバ / マネージドサーバ】DKIMおよびDMARC対応予定に関するお知らせ(2024年1月23日 10:00更新) | さくらインターネット

ということで、早速設定してみましたので、メモ書きです。

設定前

このブログを書いてる時点(2024/2/1)で、自分のドメインに対して DKIM はまだ設定していません。なので、この状態で gmail にメールを送ってみると、

ちゃんと、迷惑メールとして判定されてますね。

メールの詳細を表示すると、

となってました。以前、 SPF は設定しているので PASS になってますが、 DKIM および DMARC については何も表示されてないです。

DKIM および DMARC を設定

設定方法は、別に難しくなく、さくらインターネットで紹介している

DKIM署名、DMARCを設定したい | さくらのサポート情報

この記事の通り進めます。さくらインターネットのレンタルサーバーのコントロールパネルにログインして、『メール』->『メールドメイン』を選択します。

次に、 DKIM を設定したいドメインの『設定』ボタンを押して、

表示されたメニューの『DKIM設定』を選択します。

下記のような設定画面が表示されるので、

『DKIM レコードを利用する』および『DMARC レコードを利用する』にチェックを追加します。秘密鍵とセレクタはデフォルトのままです。

『DMARC レコードを利用する』にチェックをつけると、DMARC関連の設定フィールドが表示されます。

DMARC ポリシーは『none』とし、集計レポート送信先として適当なメールアドレスを入力します。この時のメールアドレスは、DMARCを設定しているものと同じドメインのメールアドレスとしておきます。異なるドメインのメアドの場合は追加で設定が必要になります。

また、集計レポート送信先のメールアドレスについては、一点だけ注意点があります。このメールアドレスは DNS レコードを通じて公開されます。なので、このメアドは人目に触れても構わないメールアドレスを設定しておいた方が無難です。今回はレポート受取専用のメールアドレスを一つ作って、それを記入しました。

必要な項目の入力ができたら、『設定する』ボタンを押すと、DNSレコードへの反映まで自動で行ってくれます。簡単ですね。

確認

DKIM の設定ができたので、もう一度、 Gmail 宛にテストメールを出してみます。今度は、ちゃんと受信フォルダに入りました。メール詳細を表示すると、

ちゃんと、 DKIM が PASS になってますね。

DNS レコードも確認

直接、 DNS レコードも表示させてみます。まずは、 DKIM です。

mor@DESKTOP-DE7IL4F:~$ dig セレクタ名._domainkey.mori-soft.com txt

; <<>> DiG 9.18.12-0ubuntu0.22.04.3-Ubuntu <<>> セレクタ名._domainkey.mori-soft.com txt
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18092
;; flags: qr rd ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;セレクタ名._domainkey.mori-soft.com. IN        TXT

;; ANSWER SECTION:
セレクタ名._domainkey.mori-soft.com. 0 IN TXT   "v=DKIM1; k=rsa; p=公開鍵"

;; Query time: 39 msec
;; SERVER: 172.31.224.1#53(172.31.224.1) (UDP)
;; WHEN: Thu Feb 01 10:20:19 JST 2024
;; MSG SIZE  rcvd: 512

mor@DESKTOP-DE7IL4F:~$

次に、 DMARC も表示してみます。

mor@DESKTOP-DE7IL4F:~$ dig _dmarc.mori-soft.com txt

; <<>> DiG 9.18.12-0ubuntu0.22.04.3-Ubuntu <<>> _dmarc.mori-soft.com txt
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54018
;; flags: qr rd ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;_dmarc.mori-soft.com.          IN      TXT

;; ANSWER SECTION:
_dmarc.mori-soft.com.   0       IN      TXT     "v=DMARC1; p=none; aspf=r; adkim=r; rua=mailto:メールアドレス@mori-soft.com"

;; Query time: 139 msec
;; SERVER: 172.31.224.1#53(172.31.224.1) (UDP)
;; WHEN: Thu Feb 01 10:19:58 JST 2024
;; MSG SIZE  rcvd: 143

mor@DESKTOP-DE7IL4F:~$

という感じで、どちらも問題なく引けますね。

まとめ

これで、さくらインターネットからのメールも Gmail 側で正しく受け取れるようになりました。

あと、Googleの DKIM が必須になる件の記事中に、 Postmaster tools というのが紹介されていたので、そちらも設定してみました。

有効な Google アカウントでアクセスすると、

のように、ドメイン名を設定するように求められます。通常は、ドメインの所有権の確認が必要なのですが、このドメイン自体は、 Search Console 設定時にドメインの所有権を確認していたためか、確認が求められませんでした(こちらの記事など参照)。

で、設定は問題なくできたのですが、残念ながらこちらのツールは、一定数以上の設定したドメインからの送信数(gmail での受信数)がないとレポートが表示されないようで、残念ながら自分のドメインだとレポートを見ることができませんでした。まあ、制限が緩和されることを祈って、しばらく放っておくことにします。