本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
域和电子邮件地址验证问题
要使用 Amazon SES 验证域或电子邮件地址,可使用 Amazon SES 控制台或 Amazon SES API 启动该过程。本节包含有可能帮助解决验证过程问题的信息。
注意
常见的域验证问题
如果您尝试使用与您的 DNS 提供商一起验证 DKIM 域身份中的步骤验证域时遇到问题,请查看下面的可能原因和解决方案。
-
您正在尝试验证不归您所有的域 – 您无法验证不归自己所有的域。例如,如果您想通过 Amazon SES 从 gmail.com 域上的地址发送电子邮件,您需要专门验证该电子邮件地址。您无法验证整个 gmail.com 域。
-
您正在尝试验证私有域 – 如果 DNS 记录无法通过公共 DNS 解析,则无法验证域。
-
DNS 提供商不允许 DNS 记录名称中有下划线 – 少数 DNS 提供商不允许在记录名称中包含下划线 (_)。但是,DKIM 记录名称中的下划线是必需的。如果您的 DNS 提供商不允许您在记录名称中输入下划线,请联系提供商的客户支持团队以获取帮助。
-
DNS 提供商将域名附加到 DNS 记录的结尾 – 某些 DNS 提供商会自动将您的域名附加到 DNS 记录的属性名称中。例如,如果您创建一条属性名为 _domainkey.example.com 的记录,提供商可能会附加域名,最终的属性名称将为 _domainkey.example.com.example.com。要避免域名重复,请在输入 DNS 记录时向域名结尾添加句点。此步骤告知 DNS 提供商没有必要将域名附加到记录。
-
您的 DNS 提供商修改了 DNS 记录值 – 某些提供商会自动修改 DNS 记录值以仅使用小写字母。Amazon SES 仅在以下情况下才验证您的域:您的域检测到其属性值与您启动域验证流程时 Amazon SES 提供的值完全匹配的验证记录。如果域的 DNS 提供商将 DNS 记录值更改为仅使用小写字母,请与 DNS 提供商联系以获取更多帮助。
-
您需要多次验证同一个域 – 您可能需要从不同区域发送或使用同一个域从多个 AWS 账户发送,因而需要多次验证您的域。如果 DNS 提供商不允许您拥有多条具有相同属性名称的 DNS 记录,您仍可以验证两个域。如果 DNS 提供商允许,您可以将多个属性值分配到同一条 DNS 记录。例如,如果 DNS 由 Amazon Route 53 管理,您可以完成以下步骤为同一条 CNAME 记录设置多个值:
-
在 Route 53 控制台中,选择在验证第一个区域中的域时创建的 CNAME 记录。
-
在 Value (值) 框中,转到现有属性值的末尾,然后按 Enter。
-
添加附加区域的属性值,然后保存记录集。
如果 DNS 提供商不允许为同一条 DNS 记录分配多个值,则可以在 DNS 记录属性名称中包含 _domainkey 来验证域一次,然后从属性名称中删除 _domainkey 并再验证一次。此解决方案的缺点是只能对同一个域验证两次。
-
检查域验证设置
您可以使用以下过程验证您的 Amazon SES 域验证 DNS 记录是否已正确地发布到您的 DNS 服务器。此过程使用 nslookup
这些说明中的命令在 Windows 7 中执行,我们使用的示例域为 ses-example.com,这是通过使用 CNAME 记录的 Easy DKIM 配置的。
在此过程中,您首先要查找适用于您的域的 DNS 服务器,然后查询这些服务器以查看 CNAME 记录。您查询适用于您的域的 DNS 服务器,因为这些服务器包含适用于您的域的最新信息,这可能需要一定时间才会传播到其他 DNS 服务器。
验证您的域验证 CNAME 记录是否已发布到您的 DNS 服务器
-
通过采取以下步骤查找您的域的名称服务器。
-
进入命令行。要进入 Windows 7 中的命令行,请选择 Start,然后键入 cmd。在基于 Linux 的操作系统中,打开终端窗口。
-
在命令提示符处,键入以下命令,其中 <domain> 是您的域。此操作将列出所有可用于您的域的名称服务器。
nslookup -type=NS <domain>
如果您的域为 ses-example.com,此命令将类似于:
nslookup -type=NS ses-example.com
命令的输出将列出可用于您的域的名称服务器。您将在下一步骤中查询这些服务器之一。
-
-
通过执行以下步骤,验证 CNAME 记录是否已正确发布。请记住,Amazon SES 将生成三条 CNAME 记录以进行 Easy DKIM 身份验证,因此,需要分别对这三条记录重复以下过程。
-
在命令提示符处,键入以下命令,其中 <random string> 是 SES 生成的 CNAME 名称,<domain> 是您的域,<name server> 是您在步骤 1 中找到的其中一个名称服务器。
nslookup -type=CNAME <random string>_domainkey.<domain> <name server>
在我们的 ses-example.com 示例中,如果我们在步骤 1 中找到的名称服务器名为 ns1.name-server.net,并且 SES 生成的 <random string> 为
4hzwn5lmznmmjyl2pqf2agr3uzzzzxyz
,则我们将键入以下内容:nslookup -type=CNAME 4hzwn5lmznmmjyl2pqf2agr3uzzzzxyz_domainkey.ses-example.com ns1.name-server.net
-
在命令的输出中,请验证
canonical name =
后的字符串是否与在 Amazon SES 控制台的身份列表中选择域时看到的 CNAME 值匹配。在我们的示例中,我们正在
4hzwn5lmznmmjyl2pqf2agr3uzzzzxyz
_domainkey.ses-example.com 下寻找值为4hzwn5lmznmmjyl2pqf2agr3uzzzzxyz.dkim.amazonses.com
的 CNAME 记录。如果记录已正确发布,我们希望命令具有以下输出:4hzwn5lmznmmjyl2pqf2agr3uzzzzxyz_domainkey.ses-example.com canonical name = "4hzwn5lmznmmjyl2pqf2agr3uzzzzxyz.dkim.amazonses.com"
-
常见电子邮件验证问题
-
验证电子邮件未送达 – 如果完成验证电子邮件地址身份中的步骤,但在几分钟内没有收到验证电子邮件,请完成以下步骤:
-
检查垃圾邮件或垃圾邮件文件夹中是否有要验证的电子邮件地址。
-
确认您尝试验证的地址能够接收电子邮件。使用单独的电子邮件地址(例如您的个人电子邮件地址),将测试电子邮件发送到您要验证的地址。
-
检查 Amazon SES 控制台中已验证地址的列表
。确保您尝试验证的电子邮件地址没有任何错误。
-