Cognito 用户池是否可以将 SES 与经过验证的域而不是经过验证的电子邮件一起使用?

Mat*_*y H 7 amazon-web-services amazon-ses amazon-cognito

Cognito 的用户池采用需要已验证电子邮件的 ARN 的电子邮件配置。我可以在经过验证的域中使用任何电子邮件而不是单个经过验证的电子邮件吗?

https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-email.html 我正在查看此文档,但我不确定如何使用“已验证电子邮件”,这是不可自动化的。我想要的替代方法是自动验证域,然后使用该域中的任何地址。

小智 6

我们能够通过 CLI 完成此操作。首先,转到 SES 中已验证的域并添加身份策略。

{
  "Version": "2012-10-17",
  "Statement": [
    {
        "Sid": "",
        "Effect": "Allow",
        "Action": [
            "SES:SendRawEmail",
            "SES:SendEmail"
        ],
        "Resource": "arn:aws:ses:us-east-1:YOUR_ACCOUNT_ID:identity/MYCUSTOM.DOMAIN.COM" <- arn of your SES domain
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

然后在本地机器上创建一个json文件。

{
  "SourceArn": "arn:aws:ses:us-east-1:"accountid":identity/MYCUSTOM.DOMAIN.COM",
  "ReplyToEmailAddress": "no-reply@MYCUSTOM.DOMAIN.COM",
  "EmailSendingAccount": "DEVELOPER",
  "From": "no-reply@MYCUSTOM.DOMAIN.COM"
}
Run Code Online (Sandbox Code Playgroud)

最后运行cli命令

aws cognito-idp update-user-pool --user-pool-id 'us-xxxx-X_XXXXXX' --region 'xx-xxxx-x' --email-configuration file://email.json
Run Code Online (Sandbox Code Playgroud)

在 AWS 控制台中为您的认知池完成此操作后,您应该会在发件人电子邮件地址 ARN 下看到 SES 域的 ARN,并且您可以在发件人地址字段中指定您想要的任何电子邮件。

注意:您这是 prod 中的现有池,您可能需要运行以下命令来获取电子邮件配置,以确保您不会覆盖更新文档https://docs.aws.amazon.com中所述的任何设置/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html

aws cognito-idp describe-user-pool --user-pool-id 'USER_POOL_ID' --region us-east-1
Run Code Online (Sandbox Code Playgroud)

  • 为什么 SES 中的域需要一个策略来从其自己的域发送电子邮件?不是已经可以做到了吗? (2认同)