亚马逊的SES邮件服务需要DKIM身份验证。身份验证的一个步骤是将CNAME记录添加到您网域的DNS中。
不幸的是,CNAME记录有一个下划线。我的注册商Network Solutions不允许在CNAME记录中使用下划线。
有解决方法吗?转移到其他注册商是一种选择,但显然是一个可怕的选择。
答案 0 :(得分:21)
在使用Network Solutions客户服务的电话上超过两个小时后,他们会为我手动输入Amazon SES DKIM身份验证记录。
首先,他们CNAME
中不允许使用下划线的事实是不正当行为。
根据RFC 1034:
非主机名的名称可以包含任何可打印的ASCII字符。
DKIM标准要求下划线,根据RFC 4871:
所有DKIM密钥都存储在名为" _domainkey"的子域中。给出一个 带有" d ="的DKIM-Signature字段标签" example.com"和" s ="标签 " foo.bar",DNS查询将用于 " foo.bar._domainkey.example.com"
RFC 1034描述了CNAME记录,并指出CNAME RR
不是(必然)hostname
,因此应允许任何可打印的ASCII字符。网络解决方案的错误就是这个。
虽然DKIM记录可以存储为TXT
条记录,但Amazon SES使用CNAME记录以便它们可以旋转密钥。如果没有网络解决方案的无效政策,哪些应该是可能的。
有关此问题的大多数信息,我建议使用this site,其中说明任何非hostnames
的DNS条目(CNAME
中的字段可以是,但不一定是)应该允许下划线。
为了最终让他们手动输入记录,他们需要升级故障单。它必须通过电话完成,我的初始电子邮件票响应令人失望的响应"你需要打电话。"
我不得不多次解释其他名称服务器允许CNAME中的下划线,如果它们无法容纳我们,我们将立即切换。
他们不得不与主要帐户持有人(不是我,而不是技术人员)交谈,以便确认"这些DNS记录应该放在适当的位置。即使他只是打电话给"确认"他们给他打电话超过70分钟。这个确认似乎完全没必要,因为我的帐户被授权编辑DNS记录。
这是一次相当令人沮丧的经历,我计划尽快从网络解决方案中迁移出来。所需的停机时间在过去劝阻了我们,但此时我认为这是合理的。
虽然您可能会说服他们手动输入记录,但如果可能的话,我建议切换名称服务器。
答案 1 :(得分:9)
DKIM完成了TXT
条记录。当然,您可以拥有指向CNAME
记录的TXT
记录(或链),但直接创建TXT
记录更为常见。
您的DNS权威名称服务提供商应该允许您将带有下划线的标签(DKIM需要)放入您的域的区域文件中。如果没有,则选择其他DNS名称服务提供商或使用您自己的名称服务器。
您正在使用的DNS 注册商与此无关。注册商不控制域名的内容,也不会意识到域名。
可能是您的注册商和DNS名称服务提供商恰好是同一个组织,但它们是不同的角色,应该单独考虑。
答案 2 :(得分:4)
DKIM需要名为_domainkey
(RFC 4871)(和underscores are completely valid for subdomains)的子域名。
如果您的DNS提供商不允许,该怎么办?
例如,对于 SendGrid ,它会要求您将CNAME s1._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"
现在为子域s1._domainkey
创建一个包含内容的TXT记录(例如,请记住取消\
):
k=rsa; t=s; p=SOMETHING+VERY+LOOOOOOOONG
答案 3 :(得分:-1)
亚马逊论坛(https://forums.aws.amazon.com/thread.jspa?threadID=119464)表示如果CNAME记录不起作用,您可以使用TXT记录:
“在我的DNS设置上设置TXT条目,此条目如下所示: 名称:._ domainkey.mydomain.com 类型:TXT 价值:“p = AAZZZZZZEEEEEERRRRRRRRTTTTTTYYYYYYYYY ..”,“
我还没有能够使这个工作,但我认为这是正确的方向,因为我不太可能雅虎et.al.更改其DNS策略。