如何才能重新发送验证电子邮件以确认我的 AWS Certificate Manager(ACM)域?

上次更新日期:2022 年 6 月 8 日

我通过 AWS Certificate Manager(ACM)申请了证书,以使用电子邮件验证对我的域进行验证,但我未收到验证电子邮件。

简短描述

为域申请证书时,如果存在以下情况,您可能收不到验证电子邮件:

  • 您没有为域配置 DNS MX 记录。
  • 您的注册商不支持域电子邮件转发。

首先,请尝试这些排查步骤,帮助您接收验证电子邮件

如果这些步骤无法解决问题,您可以对域进行配置,以接收验证电子邮件。为此,请将 Amazon WorkMail 或 Amazon Simple Email Service(Amazon SES)与 Amazon Simple Notification Service(Amazon SNS)配合使用。

解决方法

方案 1:使用 WorkMail 重新发送验证电子邮件

从域的五个公共系统管理地址中选择一个,从而创建一个 WorkMail 用户。有关更多信息,请参阅 MX 记录

  1. 打开 WorkMail console(WorkMail 控制台),然后按照 Creating an organization(创建组织)的说明进行操作。
  2. 按照说明添加域
  3. 选择您在第 1 步中创建的组织,然后选择创建用户
  4. 输入“admin”作为用户名称显示名称,然后选择下一步
    注意:您也可以使用“hostmaster”、“postmaster”和“webmaster”等用户名。您无法使用“administrator”,因为这是 AWS Organizations 的默认系统用户账户。
  5. 输入您的主要电子邮件地址和新用户的密码。
  6. 电子邮件地址旁的下拉列表中,选择您在第 2 步创建的域,然后选择添加用户
  7. 按照说明重新发送验证电子邮件
  8. 按照说明以第 4 步中创建的用户名登录 Amazon WorkMail Web 客户端
  9. 您将在 WorkMail Web 客户端的收件箱中收到验证电子邮件。遵循使用电子邮件验证域所有权的说明。

有关更多信息,请参阅如何添加和验证域以用于 WorkMail?

方案 2:使用 Amazon SES 和 Amazon SNS 重新发送验证电子邮件

创建 Amazon SNS 主题。

  1. 打开 Amazon SNS console(Amazon SNS 控制台),展开左侧导航窗格的菜单,选择 Topics(主题),然后选择 Create Topic(创建主题)。
  2. 输入主题名称显示名称。以下是一些建议的名称:
    主题名称:Validation-Email
    显示名称:Validation
  3. 选择创建主题,然后选择创建订阅
  4. 使用默认的主题 ARN,并为协议选择电子邮件
  5. 终端节点输入您的电子邮件地址,然后选择创建订阅
    注意:确认电子邮件会发送到订阅的终端节点。
  6. 在确认电子邮件中选择确认订阅。您将收到消息 "Subscription confirmed!"(已确认订阅!)。

验证您的域。

  1. 打开 Amazon SES console(Amazon SES 控制台),然后从左侧导航窗格中选择 Domains(域)。
  2. 选择验证新域,输入您的域名,然后选择验证此域
  3. 如果您的域由 Amazon Route 53 托管,请选择使用 Route 53。复制 Email Receiving Record(电子邮件接收记录) MX Value(MX 值),然后选择 Close(关闭)。
    注意:如果您的域不是由 Amazon Route 53 托管的,请在您的域注册商的 DNS 设置中手动输入记录集。
  4. (可选)如果您选择 Use Route 53(使用 Route 53),可通过选择 Domain Verification Record(域验证记录)或 Email Receiving Record(电子邮件接收记录)来选择要导入的记录。选择要更新的托管区域,然后选择创建记录集
    注意:此选项将替换您的域的全部现有 MX 记录。除非您要将您的域设置为通过 Amazon SES 接收电子邮件,否则请勿使用此选项。有关更多信息,请参阅 Email receiving with Amazon SES(使用 Amazon SES 接收电子邮件)。
  5. 打开 Amazon Route 53 console(Amazon Route 53 控制台),然后从左侧导航窗格中选择 Hosted zones(托管区域)。
  6. 选择第 2 步中的域名,然后选择创建记录集
  7. 选择您的 MX 记录集,输入您的域名或子域名,然后选择 MX – 邮件交换记录类型。
  8. Value:(值:)中,粘贴 step 3(第 3 步)中的Email Receiving Record(电子邮件接收记录)MX Value(MX 值),然后选择 Create(创建)。

创建 Amazon SES 规则。

  1. 打开 Amazon SES console(Amazon SES 控制台),然后从左侧导航窗格中选择 Rule Sets(规则集)。
  2. 如果您没有现有的规则,请选择创建规则集。在规则集名称中,输入一个名称,然后选择创建规则集
  3. Rule set name(规则集名称)中,选择您的规则集,然后选择 Create Rule(创建规则)。
  4. Recipient(收件人)中输入收件人电子邮件地址,Add Recipient(添加收件人),然后选择 Next Step(下一步)。您可以选择以下任一验证电子邮件地址:
    administrator@your_domain
    hostmaster@your_domain
    postmaster@your_domain
    webmaster@your_domain
    admin@your_domain
    注意:接收规则集有两种状态 – 激活或禁用。只有一个接收规则集可随时处于激活状态。有关详细信息,请参阅 Creating rule sets and receipt rules(创建规则集和接收规则)。
  5. 选择 Add action(添加操作)菜单然后选择 SNS
  6. SNS topic(SNS 主题)菜单中选择您之前创建的 SNS 主题(例如 Validation-Email)。为编码选择 UTF-8
  7. 依次选择添加操作菜单、停止规则集下一步
  8. 规则详情中,为规则名称输入“Validation-Rule-Set”,选择下一步,然后选择创建规则
  9. 从左侧导航窗格中选择规则集,选择您的规则集,再选择设置为活动规则集,然后选择设置为活动

重新发送验证电子邮件并验证域。

  1. 打开 AWS Certificate Manager 控制台
  2. 依次选择 Domain name(域名)、Actions(操作)菜单、Resend validation email(重新发送验证电子邮件)和 Resend(重新发送)。
  3. 对于所列的每个域,您都将收到一封主题为 Amazon SES Email Receipt Notification(Amazon SES 电子邮件接收通知)的电子邮件。
    注意:如果电子邮件格式不正确,请搜索电子邮件中的\r\n要批准此请求,请转到 Amazon Certificate Approvals,链接为\r\n。这是证书验证链接。
  4. 遵循使用电子邮件验证域所有权的说明。

验证您的 ACM 证书后,您可以使用证书以及与证书处于同一区域的受支持的 AWS 资源。如果您在多个区域有 AWS 资源,请从每个区域请求证书。

注意:如果您希望将 ACM 证书用于 Amazon CloudFront,必须在美国东部(弗吉尼亚州北部)区域中请求或导入证书。有关更多信息,请参阅 AWS Region for AWS Certificate Manager(适用于 AWS Certificate Manager 的 AWS 区域)。