さくらのメール + 他社DNS でのDKIMの設定
さくらのメール + さくらのドメイン で DKIMの場合
DKIM?なんじゃそりゃ? とよくわからなくても、
マニュアル を見て、ぽちぽちおせば うまく設定されると思います。
ただ、他社のDNSの場合は、ちょっと注意が必要な場合もあります。
さくらのメール + 他社DNS でのDKIMの場合
さくらのメールサーバー + ドメインは スタードメイン(netowl) という環境で
DKIMの設定を マニュアルをみつつしていったら・・・
スタードメイン
コンテンツは全角127文字以下(半角255文字以下)で入力して下さい
問題
- スタードメイン側の DNS のレコードは 255文字まで、
- さくらが 自動生成するDKIM用の公開鍵は 400文字以上で生成される
スタードメイン(netowl)に問い合わせたところ、255文字まで しか 登録する術はない。2行にまたがって書くのも無理とのこと。
512ビットの短い秘密鍵を作って試す
じゃ、短い秘密鍵つくったら、短い公開鍵ができて、255文字の制限内におさまるのでは?とおもい
①512ビットの鍵をlinuxで作り
秘密鍵生成
openssl genrsa 512 > mail_dkim_512.key
②さくら側に この秘密鍵をアップロードして 公開鍵を生成
③その公開鍵をスタードメインのTXTレコードに登録 → 無事登録できた
④ ので早速メールをgmailに送ってみた結果(Gmail のメールのソース) エラーが
SPF:PASS(IP: xxxxx)
DKIM:'FAIL'(ドメイン:hogehoge.como)
DMARC:'PASS'
dkim=policy (weak key) header.i=@hgoehoge.com header.s=rs20240222 header.b=jRaRRpCL;
なんとなくわかるが、ねんのため、エラー部分を Copilot にきいたところ 1024ビット以上の鍵でないとだめだよ・・・とのことで
こんにちは、Copilotです。DKIMの設定についてお困りのようですね。😊
エラーの内容から判断すると、DKIMの鍵の長さが短すぎるために、
受信側のポリシーによってDKIM認証が失敗している可能性があります12。
DKIMの鍵の長さは、1024ビット以上、
できれば2048ビットにすることが推奨されています3。
1024ビットの鍵を作ってためしたらいける?
openssl genrsa 1024 > mail_dkim_1024.key
...(手順は同じなので割愛)...さくら側で公開鍵を生成して それを
スタードメイン(netowl) 側の TXT にいれたところ 255文字制限もOKで
Gmailあてにメールを送った結果も
SPF:PASS(IP: xxxx)
DKIM:'PASS'(ドメイン: hogehoge.com)
DMARC:'PASS'
ちなみに TXTレコードの中身は以下のような感じで 237文字でした。
v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBA~~~~~~~~~~~~~BTQIDAQAB
整理すると DNSサービスによる TXTレコードの制限(255文字など)で 入らない場合は、 1024 ビットで秘密鍵を作って、公開鍵を生成してもらって、その公開鍵でなら 250文字ぐらいで ぎりはいって、 DKIM パスする! *このDNSでは使えませんでしたが、DKIMを2行に分割して書くこともできるらしいです。