DKIM FAIL !? Gmailで迷惑メールに振り分けられる原因

DKIMのTXTレコードを登録しても、なぜかGmailで迷惑メールに振り分けられ、ヘッダーを確認したところ「DKIM:   ‘FAIL’(ドメイン: example.com)」でした。

# ヘッダーがおかしい?
dkim=neutral (bad format) header

# 何かがおかしい??
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=example.com 以下省略

目次

原因は長すぎるTXTレコード

AWSのRoute 53 ではDKIMのTXTレコードが長いのでそのままではエラーで登録できません。

InvalidChangeBatch 400: CharacterStringTooLong (Value is too long) encountered withのエラーが・・・

そのため、入力画面のコメントを見て末尾にスペースを入れたり、改行したりしていたのですが、それがよくなかったようです。

複数の値を個別の行に入力します。 次の行に文字列を続ける前に、末尾にスペースを追加することで、長い文字列を別々の行に区切ることができます。

https://aws.amazon.com/jp/

この方法では、別々の行に区切られてしまいますので、DKIMのTXTレコードとしては間違った状態で保存されてしまいます。具体的には3ピースに分割されてしまっていたので、DNSの問い合わせの際に順番がバラバラにレコードを参照できてしまう状態になっていたと思います。

正しい入力方法

長い文字列をダブルクォーテーションで囲み、改行せず連結してテキストボックスにコピーする

"v=DKIM1; h=sha256; k=rsa; ""p=MIIBIj~省略""LTU+iq4xk省略"

実際やってみると、あ、それだけでいいのかと・・・

という情報が、コミュニティーにありました。

https://repost.aws/ja/knowledge-center/route53-resolve-dkim-text-record-error

結果

無事、GmailでDKIMの確認をPASSすることができたので、迷惑メールに振り分けを回避することができました。