Amazon の SES メール サービスには DKIM 認証が必要です。認証の 1 つのステップは、ドメインの DNS に CNAME レコードを追加することです。
残念ながら、CNAME レコードにはアンダースコアが含まれています。私のレジストラ Network Solutions では、CNAME レコードにアンダースコアを使用できません。
これに対する回避策はありますか? 別のレジストラへの移管はオプションですが、明らかに恐ろしいオプションです。
Network Solutions のカスタマー サービスと電話で 2 時間以上話し合った後、Amazon SES DKIM 認証レコードを手動で入力しています。
まず、アンダースコアを許可しないという事実は、CNAME
不適切な動作です。
RFC 1034 に従って:
ホスト名ではない名前は、印刷可能な任意の ASCII 文字で構成できます。
DKIM 標準では、RFC 4871 に従ってアンダースコアが必要です。
すべての DKIM キーは、「_domainkey」という名前のサブドメインに保存されます。「example.com」の「d=」タグと「foo.bar」の「s=」タグを持つ DKIM-Signature フィールドを指定すると、DNS クエリは「foo.bar._domainkey.example.com」になります。 .
RFC 1034 は CNAME レコードについて説明し、CNAME RR
が (必ずしも) ではないことを示しているhostname
ため、印刷可能な ASCII 文字はすべて許可する必要があります。Network Solutions はこれについて間違っています。
DKIM レコードはレコードとして保存TXT
できますが、Amazon SES は CNAME レコードを使用してキーをローテーションできるようにします。Network Solution の不適切なポリシーがなければ、これは可能なはずです。
これに関するほとんどの情報については、このサイトをお勧めします。このサイトでは、そうでない DNS エントリhostnames
(a のフィールドはCNAME
可能ですが、必ずしもそうである必要はありません) はアンダースコアを許可する必要があると説明しています。
最終的にレコードを手動で入力できるようにするために、チケットをエスカレートする必要がありました。それは電話で行う必要があり、私の最初の電子メール チケットには、「電話する必要があります」という残念な回答が返されました。
他のネームサーバーでは CNAME にアンダースコアを使用できることと、対応できない場合はすぐに切り替えることを何度か説明しなければなりませんでした。
これらの DNS レコードを配置する必要があることを「確認」するために、主要なアカウント所有者 (私ではなく、技術者でもありません) と話をする必要がありました。彼は「確認」するために電話をかけただけでしたが、70分以上電話で走り回っていました。私のアカウントは DNS レコードの編集を許可されていたので、この確認はまったく必要ないように思えました。
それはかなり苛立たしい経験でした。私はできるだけ早くネットワーク ソリューションから移行することを計画しています。必要なダウンタイムは過去に私たちを思いとどまらせてきましたが、現時点ではそれが正当化されると信じています.
レコードを手動で入力するよう説得できるかもしれませんが、可能であればネームサーバーを切り替えることをお勧めします。
DKIM はTXT
レコードで行われます。もちろん、CNAME
レコードを指すレコード (またはチェーン) を持つこともできますが、レコードを直接TXT
作成する方がはるかに一般的です。TXT
DNS の正式なネームサービス プロバイダーでは、ドメインのゾーン ファイルにアンダースコア (DKIM が必要) を含むラベルを配置できるようになっている必要があります。そうでない場合は、別の DNS ネームサービス プロバイダーを選択するか、独自のネームサーバーを使用してください。
どの DNSレジストラを使用しているかは関係ありません。レジストラはドメインの内容を管理しておらず、それを認識していません.
レジストラーと DNS ネームサービス プロバイダーがたまたま同じ組織である可能性がありますが、これらは別の役割であり、別々に検討する必要があります。
DKIM にはサブドメイン名_domainkey
( RFC 4871 )が必要です (サブドメインにはアンダースコアが完全に有効です)。
DNS プロバイダーがそれらを許可しない場合はどうなりますか?
たとえば、SendGridの場合、CNAMEs1._domainkey.example.com
をにポイントするように求められるため、次の方法s1.domainkey.u1234567.00000.sendgrid.net
で TXT レコードを取得します。
$ host -t txt s1.domainkey.u1234567.00000.sendgrid.net
s1.domainkey.u1234567.00000.sendgrid.net descriptive text "k=rsa\; t=s\; p=SOMETHING+VERY+LOOOOOOOONG"
次にコンテンツとしてサブドメインの TXT レコードを作成します (たとえばs1._domainkey
、エスケープを解除することを忘れないでください)。\
k=rsa; t=s; p=SOMETHING+VERY+LOOOOOOOONG