如果我的域在 Amazon SES 中卡在“待验证”状态或“未验证”状态,我该怎么办?
我在域的 DNS 服务器中添加了一条规范名称记录(CNAME)记录,该记录与我想要在 Amazon Simple Email Service(Amazon SES)上进行验证的域的指定名称和值匹配。但是,Amazon SES 验证状态仍然处于“等待验证”,或处于“未验证”状态。如何解决此问题?
简短描述
Amazon SES 域可能会因下面一个或多个原因卡在“等待验证”或“未验证”状态:
- CNAME 记录包含其他字符或缺少字符。
- 您的 DNS 提供商将顶级域自动添加到了 DNS 记录的末尾。
- CNAME 记录尚未添加到委派的名称服务器。
确认您的记录没有任何上述问题后,然后在 Amazon SES 上重试域名验证。
解决方法
检查 CNAME 记录是否含有多余的字符或有字符缺失
使用 dig 或 nslookup 之类的 DNS 工具测试您的 CNAME 记录。Amazon SES 会生成三条 CNAME 记录以进行 Easy DKIM 身份验证,因此您必须对每条记录重复以下程序。
在 macOS 或 Linux 操作系统中,运行 dig 命令:
**注意:**将 _domainkey.example.com 替换为您在 Amazon SES 中的 CNAME 记录名称。
C:\>nslookup -type=CNAME 4hzwn5lmznmmjyl2pqf2agr3uzzzzxyz_domainkey.example.com
在 Windows 操作系统上,运行 nslookup 命令:
**注意:**将 _domainkey.example.com 替换为您在 Amazon SES 中的 CNAME 记录名称。
$ dig CNAME 4hzwn5lmznmmjyl2pqf2agr3uzzzzxyz_domainkey.example.com +short
查看 dig 或 nslookup 命令的输出。在输出中,验证 canonical name= 后面的字符串是否与 Amazon SES 控制台的 Identities(身份)列表中作为域列出的 CNAME 值匹配。
例如,以下输出显示了多余的字符(空格):
dig CNAME 4hzwn5lmznmmjyl2pqf2agr3ueo2kf3d._domainkey.example.com +short " 4hzwn5lmcnmmoylkpqf2agr3uwo2kxyz.dkim.amazonses.com. "
再例如,以下输出显示的 CNAME 记录缺少“=”字符:
C:\>nslookup -type=CNAME _amazonses.example.com Server: dns.example.com Address: 192.168.1.1 Non-authoritative answer: _amazonses.example.com text = "9kFNbWDLzxvzYgPg1lUSTkUudKR1dDtzzCPuWmYhZro"
当您创建 CNAME 记录时,最佳实践是直接从 Amazon SES 控制台复制值。确保包含所提供的确切值。请勿排除任何必要的字符(例如,“=”),且不要包含任何多余的字符,例如空格。
检查您的 DNS 提供商是否将顶级域自动添加到了 DNS 记录的结尾
有些 DNS 提供商会将顶级域自动附加到 DNS 记录的末尾。例如,如果您输入 _amazonses.example.com,有些 DNS 提供商可能会将 .example.com 附加到记录名称中,从而将记录名称更改为 _amazonses.example.com.example.com。Amazon SES 会生成三条 CNAME 记录以进行 Easy DKIM 身份验证,因此您必须对每条记录重复以下程序。
要检查顶级域名是否被复制到 DNS 记录中,请在复制了顶级域的 CNAME 记录上运行 dig 或 nslookup 之类的 DNS 工具。在 macOS 或 Linux 操作系统中,运行 dig 命令:
**注意:**将 _domainkey.example.com 替换为您在 Amazon SES 中的 CNAME 记录名称。
dig CNAME 4hzwn5lmznmmjyl2pqf2agr3uzzzzxyz_domainkey.example.com.example.com
在 Windows 操作系统上,运行 nslookup 命令: **注意:**将 _domainkey.example.com 替换为您在 Amazon SES 中的 CNAME 记录名称。
C:\>nslookup -type=CNAME 4hzwn5lmznmmjyl2pqf2agr3uzzzzxyz_domainkey.example.com.example.com
如果该命令返回了您创建的 CNAME 记录的值,则说明 DNS 提供商在 DNS 记录的名称字段末尾添加了顶级域。要解决此问题,请编辑 CNAME 记录并从您为名称字段输入的文本中移除顶级域。例如,将 _amazonses.example.com 替换为 _amazonses。
检查 CNAME 记录是否尚未添加到委派的名称服务器
使用 dig 或 nslookup 之类的 DNS 工具获取您尝试在 Amazon SES 上进行验证的域的委派名称服务器。在 macOS 或 Linux 操作系统中,运行 dig 命令:
**注意:**将 example.com 替换为您尝试在 Amazon SES 上进行验证的域。
$ dig -t NS example.com ;; ANSWER SECTION: example.com. 172800 IN NS ns1.example.com. example.com. 172800 IN NS ns2.example.com. example.com. 172800 IN NS ns3.example.com.
在 Windows 操作系统上,运行 nslookup 命令: **注意:**将 example.com 替换为您尝试在 Amazon SES 上进行验证的域。
C:\>nslookup -type=NS example.com Non-authoritative answer: example.com nameserver = ns3.example.com example.com nameserver = ns4.example.com example.com nameserver = ns1.example.com example.com nameserver = ns2.example.com
然后,转至您创建 CNAME 记录所在的 DNS 服务,以获取名称服务器。例如,如果您在 Amazon Route 53 中创建了 CNAME 记录,则打开 Route 53 控制台。当您在 Route 53 控制台中查看 CNAME 记录时,名称服务器出现在值列中。
如果您想要验证的域的委派名称服务器与具有 CNAME 记录的名称服务器不匹配,则执行以下操作之一:
- 将 CNAME 记录添加到委派的名称服务器中。
- 将具有 CNAME 记录的名称服务器配置为您的 DNS 注册商的新委派名称服务器。
在 Amazon SES 上重新尝试域验证
更正记录上的任何问题后,请在 Amazon SES 上重新尝试域验证。
当状态为“等待验证”时,遵照以下步骤重新尝试域验证:
- 打开 Amazon SES 控制台。
- 从导航栏的 AWS 区域选择器中选择您的域所在的区域。
- 在左侧导航窗格中,选择 Verified identities(已验证身份)。然后,选择卡在“待验证”状态的域。
- 选择 Delete(删除),然后确认删除。
- 选择 Create identity(创建身份)。然后,重新输入卡在“待验证”状态的域,确保选择与最初相同的设置。
- 选择 Create identity(创建身份)。
- 等待域的验证状态变为“已验证”。
当状态为“未验证”时,遵照以下步骤重新尝试域验证:
- 打开 Amazon SES 控制台。
- 从导航栏的 AWS 区域选择器中选择您的域所在的区域。
- 在左侧导航窗格中,选择 Verified identities(已验证身份)。然后,选择卡在“待验证”状态的域。
- 选择 retry(重试)。
- 等待域的验证状态变为“已验证”。
相关内容
- AWS 官方已更新 2 年前
- AWS 官方已更新 2 年前
- AWS 官方已更新 2 年前
- AWS 官方已更新 1 年前