配置 Cognito 用户池以使用 SES 发送电子邮件

Posted

技术标签:

【中文标题】配置 Cognito 用户池以使用 SES 发送电子邮件【英文标题】:Configuring Cognito user pool to send emails with SES 【发布时间】:2019-08-29 18:37:14 【问题描述】:

今天早上,我注意到我的用户池设置中有一个我以前没有注意到的警报:

我查看了设置屏幕,有一个单选按钮:

我已经有一个发件人地址。如何使用 CloudFormation 将该设置设置为是?

Cognito CloudFormation documentation 看起来像这样:

Type: AWS::Cognito::UserPool
Properties:
  AdminCreateUserConfig: 
    AdminCreateUserConfig
  AliasAttributes: 
    - String
  AutoVerifiedAttributes: 
    - String
  DeviceConfiguration: 
    DeviceConfiguration
  EmailConfiguration: 
    EmailConfiguration
  EmailVerificationMessage: String
  EmailVerificationSubject: String
  LambdaConfig: 
    LambdaConfig
  MfaConfiguration: String
  Policies: 
    Policies
  Schema: 
    - SchemaAttribute
  SmsAuthenticationMessage: String
  SmsConfiguration: 
    SmsConfiguration
  SmsVerificationMessage: String
  UsernameAttributes: 
    - String
  UserPoolName: String
  UserPoolTags: 
    String: String

EmailConfiguration 是我设置发件人地址的地方,我想也许他们在那里添加了它,但 EmailConfiguration documentation 似乎也没有任何内容。

知道如何配置 Cognito 用户池以将 SES 用于电子邮件吗?

【问题讨论】:

你知道他们什么时候开始有这个吗? @Jun711,不,我没有。就在我问这个问题之前不久。我的意思是,在一周左右的时间内。 【参考方案1】:

我一直在关注这个问题。几天前,我注意到AWS::Cognito::UserPool EmailConfiguration property documentation 已更新。它现在包括 EmailSendingAccount 属性。如果您将其设置为 DEVELOPER,它将使用 SES 发送带有指定源 ARN 的电子邮件。

【讨论】:

【参考方案2】:

据我了解,这个功能是相当新的。目前无法通过 Cloud Formation 或 sdk 配置此选项。此功能可能很快就会可用,但与此同时,您可以手动选择仪表板中的选项,并在功能可用后重新配置您的模板。

如果您不想手动更改任何选项,也可以等到它可用。但是,默认的 cognito 电子邮件服务的软限制为每天 50 封电子邮件,更多详细信息请参见:cognito limits。因此,根据您的用例,等待可能不是一种选择。

【讨论】:

以上是关于配置 Cognito 用户池以使用 SES 发送电子邮件的主要内容,如果未能解决你的问题,请参考以下文章

如何防止 cognito 发送自动电子邮件?

使用户能够通过 AWS SES 发送和接收电子邮件

Aws cognito sms 在日志中发送成功但用户未收到?

在 AWS Cognito 中为 MFA 配置自定义 SMS 消息

Cognito - 导入用户后未发送电子邮件

ubuntu使用postfix和AWS-SES发送邮件