サーバーを立ち上げてWordPressサイトを構築

gmailさんにメールを速やかに受け取ってもらえるようにしたい spf, dkim and dmarc

gmailのアカウント 例えばsomeone@gmail.com(仮名)にメールを出して、受け取ってもらえるようにするには、色々と関門をくぐっていかないといけないのですが、最低限spfとdkimはサポートしなければいけません。がそれだけだと、時々異常にメール配送が遅くなることがあります。その対策です。まず遅延の例ですが、gmailのアカウントにログインして、メールのソースを表示します。

元のメッセージ

メール ID<vG4X4vDiC5YphjR782rBxAWJNe63sGa4sAs4SYk@ghost.mydns.jp>
作成日:2025年8月23日 15:09(7013 秒後に配信済み)
From:学習の補助をめざす <wordpress@ghost.mydns.jp> PHPMailer 6.9.3 (https://github.com/PHPMailer/PHPMailer) を使用
To:alt.jake.burst@gmail.com
件名:学習の補助をめざす “コメントテスト”
SPF:PASS(IP: 222.227.81.244)。詳細
DMARC:‘FAIL’ 詳細

このブログサイトからメールをgmail.comのアカウントに投げたのですが、上記のように7013秒かかっています。分に直すと、116分で、約2時間です。遅すぎますよね。なんでこうなるかと言うと、spfはpassしてますけど、dmarcはfailです。これが問題。実は、spfとdmarcの間に、dkimのチェックが入っていて、それもfailなので、こういう扱いになったわけです。じゃ、全部passさせましょうというのが今回の課題です。MailerはPHPMailerですが、それは遅延の理由ではないようです。spfはDDNS側の設定でpassできます。次はdkimですが、これにはopendkimをインストールせねばなりません。手順は、”サーバーワールド”さんが簡潔でわかりやすいです。

時々参考にさせてもらっています。が、host名等を読み替えるのをうっかりすることが時々あるので、注意しましょう。最終的には”公開鍵”をDNSサーバー(この場合は、www.mydns.jpサイド)にアップロードしなくてはいけません。

最終的には、www.mydns.jp内部でのdomain.infoを設定する必要があります。それを支障がない範囲で引用しておきましょう。id,passwordで”www.mydns.jp”へログインします。

ここの”DOMAIN INFO”をクリック、

Domain*
ghost.mydns.jp
※無料サブドメイン名か、お持ちの独自ドメイン名を入力してください。

MX (FQDN)	Priority
ghost.mydns.jp

10

Hostname*	Type*	Content	Target ID
@

TXT
google-site-verification=327eHrjSvj8AgBBaiw9OW_n23DN2477OOPSGEkJdSliPbk

mydns8XXXXX
@

TXT
v=spf1 include:some.domain.ne.jp ~all

mydns8XXXXX
20250824._domainkey

TXT
v=DKIM1; h=sha256; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5tBk1UdaeTuOFW8D7+yZ7XSAakQvaBnrv8nnpnEfjUQB9AHebe7cfWNy2djOWtsoyyFs8IJrKxX6NHSyicrDyl+lmT9sszwwYJU89PB6R0BeOWEHQOUmXhljpfTuwzILI7m3nndGeibcZQ/ewJ5BBvdqNkONkEn5xzc+iFAdNhoKgNelZcKcjOOPS_Junks/J+hkKsyNhUPu5MuzxA9TFLrKKqHlQ0TMna1moDJh/Cs/LC/2REhlbMSQG+Fnpp43fn/luZbEWJDyAkeUVl58c/XbzKgrHsK1UoV6z1LqO0iTCBQnB4Lxi3GcKakA9Cw3PyfS7OfZhr2L5cY3QiPfywMNjQIDAQAB

以下Dmarc関係は略

ざっと説明すると、一番上はMXなので、メール受け取りのためのエントリー。次がSFPですが、プロバイダへ丸投げしてるので、その記述。その次が、Dkimの公開鍵です。これらの設定でgmailへメール投げると、

元のメッセージ

メール ID<20250902060135.44D5.26AEBDE0@ghost.mydns.jp>
作成日:2025年9月2日 6:10(2 秒後に配信済み)
From:nao <nao@ghost.mydns.jp> Becky! ver. 2.81.05 [ja] を使用
To:jake.burst@gmail.com
件名:test no smtp auth
SPF:PASS(IP: 175.135.252.9)。詳細
DKIM:‘PASS’(ドメイン: ghost.mydns.jp)詳細
DMARC:‘PASS’ 詳細

ようやく全部(SPF,DKIM,DMARC)パスしました。2秒で配信されいますから、無問題です。

google-site-verification=327eHrjSvj8AgBBaiw9OW_n23DN2477OOPSGEkJdSliPbk

という部分は、“Google Search Console”を使うために、サイトを管理していることを示すためのトークンです。googleさんのsmtpサーバーからメール投げれば問題ないかというとこれもまた大変です。いわゆるsmtpxoauthという認証システムをくぐらないといけないのですが、普通のgmailアカウントで得られるrefresh_tokenの期限が一週間でほぼ使えません。ただしこのtokenを使うと、面倒なsmtpサーバ使わずに、Mail APIからメール出せます。機会があればこの話を書くかもしれません。(あまりにも不毛なので、旧ブログでも書いてません。)

コメント