【问题标题】:Cognito FROM email address ARN not appearing for SESCognito FROM 电子邮件地址 ARN 未出现在 SES 中
【发布时间】:2021-08-16 02:39:39
【问题描述】:

我在 AWS Route 53 上注册了一个域,并且我正在使用 AWS Cognito 处理用户注册。

我正在尝试将我的用户池配置为使用 SES 而不是 Cognito 来发送验证电子邮件。我已在 Route 53 中验证了我的域,并添加了一个处于“已验证”状态的 MAIL FROM Domain。

在 Cognito 中,当我在用户池配置的左侧面板中选择“消息自定义”并选择“发件人电子邮件地址 ARN”下拉菜单时,它只显示“默认”。我已选择我的域注册的 SES 区域。

我还需要做些什么来填充它以便设置我的“发件人电子邮件地址”?

谢谢

【问题讨论】:

  • 你查看stackoverflow.com/questions/60645748/…的答案了吗?您没有提到验证个人电子邮件地址,只是一个域。适用于 Cognito 的 AWS 控制台仅将经过验证的电子邮件地址作为 ARN,而不是域身份。
  • 感谢您链接该答案,我以前没见过。我创建了 JSON 配置并通过 CLI 运行了命令,它成功了!不知道为什么我不能通过 AWS 网站做到这一点,但至少它是排序的。谢谢!
  • 请注意,这也受 CloudFormation 支持(我检查过),您需要在 UserPool 配置中设置 SourceArn 和 From 参数。 AWS 控制台将显示已验证的电子邮件域,但不允许您更改它。

标签: amazon-web-services amazon-cognito amazon-ses


【解决方案1】:

我可以通过切换到新控制台来实现这一点。在这种情况下旧的不起作用。

【讨论】:

    【解决方案2】:

    我为新的 AWS 控制台 UI 解决了这个问题,我相信它是在几天前更新的。

    这就是我所做的。

    第 1 步

    在 SES 中,我回到了旧 UI。当您转到已验证的域设置时,您应该会看到一个 TXT 类型的 DNS 记录,根据您不需要的新文档。但是,我通过单击Use Route 53 按钮添加了它。它非常方便。如果您没有看到该按钮,那么您的 Route 53 中应该已经有该 TXT 记录。去那里并确保是这种情况。如果没有,请手动添加。

    最后,我再次使用了 Cognito,但切换到了旧 UI。在那里,在Message customizations 菜单中,我可以在FROM email address ARN * 中看到一个SES ARN 值。

    第 2 步

    最初,在新 UI 的 Email 部分的 Messaging 选项卡下,我只设置了 FROM email address 字段,这是下拉菜单中的一个可选选项。

    就我而言,我有一个经过验证的整个域,而不是一个电子邮件地址。

    为了解决这个问题,我进入了新 UI 中Email 部分的Messaging 选项卡,并同时设置了FROM sender name - optionalREPLY-TO email address - optional 的值。我最初没有这两个。当然,您在此处设置的电子邮件必须在您已验证的域下有效。

    假设您已验证的域是example.com,它应该是这样的:

    (花了 3 天时间阅读 Cognito 和 SES 文档,试图弄清楚该做什么和在哪里做,还有一些试验和阅读 AWS 论坛帮助我提供了一些线索 ?‍♂️)

    【讨论】:

      【解决方案3】:

      您需要使用 boto3 python 库为认知池设置“来自 ARN”。文档中没有任何地方说你必须这样做,但我前段时间在论坛中找到了这个提示,寻找相同的答案。

      Cognito 只允许 cognito 使用 SES 的三个区域。如果您的游泳池不在其中之一,您无法匹配它们,并且不应该仅仅为此重新定位游泳池。无论区域匹配似乎都无法从下拉列表中进行选择。

      这是我使用过的脚本

      import boto3
      from pprint import pprint
      client = boto3.client("cognito-idp")
      import json
      
      
      
      pool_id = 'ap-southeast-2_dsfvbGuHU'
      
      pool_config = dict(
          UserPoolId=pool_id,
          EmailConfiguration={
              "SourceArn": "arn:aws:ses:us-west-2:421412422035:identity/example.com",
              "ReplyToEmailAddress": "no-reply@example.com",
              "EmailSendingAccount": "DEVELOPER",
              "From": "no-reply@example.com",
          },
          AutoVerifiedAttributes=["email"],
          VerificationMessageTemplate={
              "SmsMessage": "Your verification code is {####}. ",
              "EmailMessage": "Your verification code is {####}. ",
              "EmailSubject": "Your verification code",
              "EmailMessageByLink": "Please click the link below to verify your email address. {##Verify Email##} ",
              "EmailSubjectByLink": "Your verification link",
              "DefaultEmailOption": "CONFIRM_WITH_CODE",
          },
          LambdaConfig={
              "CustomMessage": "arn:aws:lambda:ap-southeast-2:421084812035:function:sls-repo-dev-cognito-message-service",
              "PostAuthentication": "arn:aws:lambda:ap-southeast-2:421084812035:function:sls-repo-dev-cognito-post-auth-service",
              "PostConfirmation": "arn:aws:lambda:ap-southeast-2:421084812035:function:sls-repo-dev-cognito-post-confirmation-service",
              "PreTokenGeneration": "arn:aws:lambda:ap-southeast-2:421084812035:function:sls-repo-dev-cognito-pretoken-gen-service",
          },
      )
      
      res = client.update_user_pool(**pool_config)
      
      response = client.describe_user_pool(UserPoolId=pool_id)
      
      pprint(response)
      
      

      小心使用脚本,因为它可能会覆盖您的某些设置。您可以评论和打印现有配置,以便复制设置。不要忘记您需要 aws CLI 凭据才能运行它

      【讨论】:

        【解决方案4】:

        我遇到了类似的问题。您是否检查过您的 SES 设置和 Cognito 设置是否位于同一区域?

        例如: 确保您的 SES 帐户设置在“us-east-1”中。然后也在“us-east-1”中创建 AWS Cognito 用户池或身份池。

        一旦您知道所有工件都在同一区域中,请确保刷新 Cognito 页面。

        【讨论】:

        • 嗨。我已经仔细检查了这一点,我的 Cognito 用户池和 SES 都在 eu-west-1 区域。不知道我还错过了什么
        猜你喜欢
        • 2014-04-03
        • 2016-09-28
        • 2016-04-25
        • 1970-01-01
        • 2019-08-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多