daemonfreaks.com

送信ドメイン認証(SPF/DKIM/DMARC)を設定した

posted by jun-g at 土, 26 9月 2026 15:00 JST

自分が管理しているドメイン(daemonfreaks.com / net)のメールアドレスは普段使っていなかったのですが、いつの間にかスパムメールの送信元として悪用されていました。そのため、送信ドメイン認証(SPF/DKIM/DMARC)を設定してみました。設定中に迷ったところも含めてメモしておきます。

環境

SPFの設定

SPFレコードには、実際にメールを送信しているサーバーのホスト名を指定する必要があります。ただ、自分の契約ではどのホスト名を指定すればよいのかわかりませんでした。

さくらインターネットの会員メニューから「契約中のサービス一覧」を開くと、「さくらのメールボックス」の契約が表示されます。この項目の「ホスト名」欄に書かれている値が、SPFレコードに指定するホスト名でした。

DKIMの設定

DKIMの鍵をどこで発行すればよいのかわからず、ここが一番迷いました。

原因は、さくらのメールボックスのコントロールパネルへのログイン方法にありました。メールアドレスをIDにしてログインすると、DKIMの鍵を発行するメニューが表示されません。

次のいずれかの方法でログインする必要があります。

  • ドメイン名をIDとして使ってログインする
  • 会員メニューの「契約中のサービス一覧」からコントロールパネルを開く

この方法でログインすると、「メール > メールドメイン」のメニューが表示されます。ここからDKIMの秘密鍵を発行し、対応する公開鍵をDNSのTXTレコードとして設定できます。

同じコントロールパネルでも、ログイン方法によって表示されるメニューが異なるのは気づきにくい点でした。

DMARCの設定

DMARCについては、SPFとDKIMの設定が終わっていれば特に困りませんでした。_dmarc ホスト名のTXTレコードに、ポリシー(p=)や集計レポートの送信先(rua=)を指定するだけです。まずは緩めのポリシーから始めて、認証結果を確認しながら段階的に厳しくしていくのがよさそうです。

設定先のバリュードメインの操作

バリュードメインの管理画面での入力方法がわからなかったのですが、最終的には以下のように設定しました。

txt @ v=spf1 a:[ホスト名] -all
txt [セレクター]._domainkey v=DKIM1; k=rsa; p=[公開鍵]
txt _dmarc v=DMARC1; p=quarantine; rua=mailto:[集計レポート送信先]; ruf=mailto:[失敗レポート送信先]

設定場所は、「コントロールパネル>ドメインの設定操作」にリストされているドメイン名の「DNS/URL」を開いた画面にあります。

確認

設定後、Gmailで受信したメールのヘッダーを確認したところ、SPF・DKIM・DMARCはすべて pass でした。Gmailの受信要件は厳しいので、受信できた時点で認証されていることはほぼ確実なのかもしれません。

さいごに

記事書くのが面倒だったのでLLMに書かせましたが、文章からにじみ出るLLM臭が良くないですね。