如果我的域在 Amazon SES 中卡在“待验证”状态或“未验证”状态,我该怎么办?

2 分钟阅读
0

我在域的 DNS 服务器中添加了一条规范名称记录(CNAME)记录,该记录与我想要在 Amazon Simple Email Service(Amazon SES)上进行验证的域的指定名称和值匹配。但是,Amazon SES 验证状态仍然处于“等待验证”,或处于“未验证”状态。如何解决此问题?

简短描述

Amazon SES 域可能会因下面一个或多个原因卡在“等待验证”或“未验证”状态:

  • CNAME 记录包含其他字符或缺少字符。
  • 您的 DNS 提供商将顶级域自动添加到了 DNS 记录的末尾。
  • CNAME 记录尚未添加到委派的名称服务器。

确认您的记录没有任何上述问题后,然后在 Amazon SES 上重试域名验证。

解决方法

检查 CNAME 记录是否含有多余的字符或有字符缺失

使用 dignslookup 之类的 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

查看 dignslookup 命令的输出。在输出中,验证 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 记录上运行 dignslookup 之类的 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 记录是否尚未添加到委派的名称服务器

使用 dignslookup 之类的 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 上重新尝试域验证。

当状态为“等待验证”时,遵照以下步骤重新尝试域验证:

  1. 打开 Amazon SES 控制台
  2. 从导航栏的 AWS 区域选择器中选择您的域所在的区域。
  3. 在左侧导航窗格中,选择 Verified identities(已验证身份)。然后,选择卡在“待验证”状态的域。
  4. 选择 Delete(删除),然后确认删除。
  5. 选择 Create identity(创建身份)。然后,重新输入卡在“待验证”状态的域,确保选择与最初相同的设置。
  6. 选择 Create identity(创建身份)。
  7. 等待域的验证状态变为“已验证”。

当状态为“未验证”时,遵照以下步骤重新尝试域验证:

  1. 打开 Amazon SES 控制台
  2. 从导航栏的 AWS 区域选择器中选择您的域所在的区域。
  3. 在左侧导航窗格中,选择 Verified identities(已验证身份)。然后,选择卡在“待验证”状态的域。
  4. 选择 retry(重试)。
  5. 等待域的验证状态变为“已验证”。

相关视频

AWS 官方
AWS 官方已更新 2 年前