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

Configuring Cognito user pool to send emails with SES

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

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

我已经有发件人地址了。如何使用 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 发送电子邮件吗?

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

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

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