前提
レンタルサーバーは mixhost で、ウェブサーバーとメールサーバーがセットかつ
はじめからDKIMを設定してくれていた。
メールの正規運用は別で管理している(今回はMicrosoft365)。
問題
ウェブサイトからお問い合わせがあった際には管理者と問い合わせしてきたユーザーに noreply@custom-domain.com
という存在しないメアドになりすましてメールを送ります。
このとき、問い合わせてきたユーザーにはしっかりメールが届くのですが管理者 = 同じドメイン(仮に admin@custom-domain.com) にはメールが届きませんでした。
SPFレコードにはしっかりウェブサーバーのIPアドレスを追加し、DKIMもしっかり設定しているし
この手(メール到達率)に厳しいGsuite系にもしっかりメールが届いているのに
なぜか同じドメインには届かない。
結論
ウェブサーバーのプログラム上(今回はWordPress)から直接メールを送る場合
デフォルトだとDKIMの署名がされないため、不正規ななりすましメール扱いにされ、到達しなかった。
そこで同サーバー上でメールアカウントを作成、WordPressからのメールをSMTP経由にすることで
送信されるメールにDKIM署名が施され、しっかり届くようになった。
まとめ
SPFとDKIMが設定してるウェブサーバーから送るメールはすべて無敵(勝手に署名される)!!!と思っていたのが間違いで
認可したサーバーでもDKIM署名したメールとしないメールが送れて、後者では不正規扱いされるということを学びました。
今回は調査・検証できていませんが、WordPress(PHP)上でDKIM署名をすればSMTP経由にする必要もないと思います。
ただ、「DNSでDKIMを設定しているから送信するメールにDKIM署名がないメールは不正規」というのは納得なのですが、それならなぜGsuite系は受信できていたのでしょう。
まだまだ勉強不足です。