选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

Amazon Cognito 用户池的电子邮件设置

聚焦模式
Amazon Cognito 用户池的电子邮件设置 - Amazon Cognito

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

应用程序中的某些事件可能导致 Amazon Cognito 向用户发送电子邮件。例如,如果您将用户池配置为需要电子邮件验证,则当用户在应用程序中注册新账户或重置其密码时,Amazon Cognito 会发送电子邮件。根据发起电子邮件递送的操作,电子邮件将包含验证码或临时密码。

为处理电子邮件递送,您可以使用以下任一选项:

创建用户群体后,您可以更改传递选项。

Amazon Cognito 会向您的用户发送电子邮件,其中包含用户可以输入的代码或用户可以选择的 URL 链接。下表显示了可以生成电子邮件的事件。

消息选项

活动 API 操作 传递选项 格式选项 可自定义 消息模板
忘记密码 ForgotPassword, AdminResetUserPassword 电子邮件、短信 code 不适用
邀请 AdminCreateUser 电子邮件、短信 code 邀请消息
自行注册 SignUp, ResendConfirmationCode 电子邮件、短信 代码,链接 验证消息
电子邮件地址或电话号码验证 UpdateUserAttributes, AdminUpdateUserAttributes, GetUserAttributeVerificationCode 电子邮件、短信 code 验证消息
多重身份验证 (MFA) AdminInitiateAuth, InitiateAuth 电子邮件¹、短信、身份验证器应用程序 code 是² MFA 消息

¹ 需要高级安全特征和 Amazon SES 电子邮件配置

² 用于短信和电子邮件消息。

Amazon SES 会对电子邮件收费。有关详情,请参阅 Amazon SES 定价

要了解有关电子邮件 MFA 的更多信息,请参阅 短信和电子邮件消息 MFA

默认电子邮件配置

Amazon Cognito 可以使用其默认电子邮件配置为您处理电子邮件递送。当您使用默认选项时,Amazon Cognito 会限制您的用户池每天可以发送的电子邮件数量。有关服务限制的更多信息,请参阅 Amazon Cognito 中的限额。对于典型的生产环境,默认的电子邮件限制低于所需的递送量。要启用更高的送达量,您可使用您的 Amazon SES 电子邮件配置。

当您使用默认配置时,您将使用 AWS 管理的 Amazon SES 资源来发送电子邮件消息。Amazon SES 将返回查无此人的邮件的电子邮件地址添加到账户级禁止列表全局禁止列表。如果无法送达的电子邮件地址稍后变为可送达,则当您的用户池配置为使用默认配置时,您无法控制将其从禁止列表中删除的行为。电子邮件地址可以无限期地保留在 AWS管理的禁止列表中。要管理无法送达的电子邮件地址,请将 Amazon SES 电子邮件配置与账户级别的禁止列表一起使用,如下一节中所述。

使用默认电子邮件配置时,您可以使用以下任一电子邮件地址作为 FROM 地址:

  • 默认电子邮件地址 no-reply@verificationemail.com

  • 自定义电子邮件地址。在可以使用您自己的电子邮件地址之前,您必须向 Amazon SES 验证此地址,并且向 Amazon Cognito 授予使用此地址的权限。

Amazon SES 电子邮件配置

您的应用程序需要的递送量可能高于默认选项所提供的递送量。要增加可能的递送量,请将您的 Amazon SES 资源与用户池一起使用来向用户发送电子邮件。当您使用自己的 Amazon SES 配置发送电子邮件消息时,您还可以监控您的电子邮件发送活动

在可以使用您的 Amazon SES 配置之前,您必须向 Amazon SES 验证一个或多个电子邮件地址或域。将经验证的电子邮件地址或已验证域的地址,用作分配给用户池的 FROM 电子邮件地址。当 Amazon Cognito 向您的用户发送电子邮件时,它会以您的名义调用 Amazon SES 并使用您的电子邮件地址。

当您使用 Amazon SES 配置时,以下条件适用:

  • 您的用户池的电子邮件传送限制与适用于您的 AWS 账户中的 Amazon SES 验证电子邮件地址的限制相同。

  • 您可以使用 Amazon SES 中覆盖全局禁止列表的账户级禁止列表来管理发送到无法送达的电子邮件地址的邮件。当您使用账户级禁止列表时,退回的电子邮件消息会影响您的账户作为发件人的声誉。有关更多信息,请参阅《Amazon Simple Email Service 开发人员指南》中的使用 Amazon SES 账户级禁止列表

Amazon SES 电子邮件配置区域

AWS 区域 在 Amazon SES 中配置电子邮件时,创建用户池的位置有三个要求之一。您可以从与您的用户池相同的区域、多个区域(包括相同区域),或者一个或多个远程区域通过 Amazon SES 发送电子邮件消息。为了获得出色性能,在您可以选择的情况下,在与您的用户池相同的区域中,通过经 Amazon SES 验证的身份发送电子邮件。

经过 Amazon SES 验证的身份的区域要求类别
仅限区域内

您的用户池可以像用户池 AWS 区域 一样发送身份经过验证的电子邮件。在没有自定义 FROM 电子邮件地址的默认电子邮件配置中,Amazon Cognito 使用同一区域中的 no-reply@verificationemail.com 已验证身份。

向后兼容

您的用户池可以在相同 AWS 区域 或以下备用区域之一发送身份经过验证的电子邮件:

  • 美国东部(弗吉尼亚州北部)

  • 美国西部(俄勒冈州)

  • 欧洲地区(爱尔兰)

此特征支持您可能在 Amazon Cognito 服务启动时为了满足当时的要求而创建的用户池资源的连续性。该时期的用户池只能在有限的数量内发送身份经过验证的电子邮件 AWS 区域。在没有自定义 FROM 电子邮件地址的默认电子邮件配置中,Amazon Cognito 使用同一区域中的 no-reply@verificationemail.com 已验证身份。

备用区域

您的用户池可以在用户池区域之外的备用 AWS 区域 地址发送身份经过验证的电子邮件。当 Amazon SES 在提供 Amazon Cognito 的区域不可用时,就会出现这种配置。

Amazon SES 在备用区域发送经过验证的身份的授权策略时,必须信任来源区域的 Amazon Cognito 服务主体。有关更多信息,请参阅 授予权限以使用默认的电子邮件配置

在其中一些区域,对于默认的 COGNITO_DEFAULT 电子邮件配置,Amazon Cognito 在两个备用区域之间拆分电子邮件消息。在这些情况下,要使用自定义 FROM 电子邮件地址,Amazon SES 在每个备用区域发送经过验证的身份的授权策略时,必须信任来源区域的 Amazon Cognito 服务主体。有关更多信息,请参阅 授予权限以使用默认的电子邮件配置。借助这些区域中的 DEVELOPER Amazon SES 电子邮件配置,您必须在第一个列出的区域中使用经过验证的身份,并将其配置为信任用户池区域中的 Amazon Cognito 服务主体。例如,在中东(阿联酋)的用户池中,将欧洲地区(法兰克福)经过验证的身份配置为信任 cognito-idp.me-central-1.amazonaws.com。在没有自定义 FROM 电子邮件地址的默认电子邮件配置中,Amazon Cognito 使用每个区域中的 no-reply@verificationemail.com 已验证身份。

注意

在以下条件组合下,必须在 Region 元素中EmailConfiguration使用通配符指定SourceArn参数,格式为arn:${Partition}:ses:*:${Account}:identity/${IdentityName}。这允许您的用户池发送两者中具有相同已验证身份 AWS 账户 的电子邮件 AWS 区域。

  • 你的 EmailSendingAccount 是COGNITO_DEFAULT

  • 您想使用自定义 FROM 地址。

  • 您的用户池在备用区域发送电子邮件。

  • 您的用户池在后面的 Amazon SES 支持区域表中指定了第二个 1 备用区域

如果您使用软件开发工具包、Amazon Cognito API 或 CLI、或以编程方式创建用户池,则您的用户池将 AWS CDK使用参数 AWS CloudFormation为您的用户池指定的 Amazon SES 身份发送电子邮件。 AWS SourceArn EmailConfigurationAmazon SES 身份必须占据支持 AWS 区域的。如果您的 EmailSendingAccountCOGNITO_DEFAULT 而且您没有指定 SourceArn 参数,则 Amazon Cognito 使用您创建用户池所在区域中的资源,从 no-reply@verificationemail.com 发送电子邮件。

下表显示了您可以在 Amazon Cognito 上使用 Amazon SES 身份 AWS 区域 的地方。

用户池区域 区域选项 Amazon SES 支持的区域

美国东部(弗吉尼亚州北部)

向后兼容

美国东部(弗吉尼亚北部)、美国西部(俄勒冈)、欧洲(爱尔兰)

美国东部(俄亥俄州)

向后兼容

美国东部(俄亥俄)、美国东部(弗吉尼亚北部)、欧洲(爱尔兰)

美国西部(加利福尼亚北部)

仅限区域内

美国西部(加利福尼亚北部)

美国西部(俄勒冈州)

向后兼容

美国东部(弗吉尼亚北部)、美国西部(俄勒冈)、欧洲(爱尔兰)

加拿大(中部)

向后兼容

加拿大(中部)、美国东部(弗吉尼亚北部)、美国西部(俄勒冈)、欧洲(爱尔兰)

加拿大西部(卡尔加里)

备用区域

加拿大(中部)、美国西部(北加利福尼亚)1

亚太地区(东京)

向后兼容

亚太地区(东京)、美国东部(弗吉尼亚北部)、美国西部(俄勒冈)、欧洲(爱尔兰)

亚太地区(香港)

备用区域

亚太地区(新加坡)、亚太地区(东京)1

亚太地区(首尔)

向后兼容

亚太地区(首尔)、美国东部(弗吉尼亚北部)、美国西部(俄勒冈)、欧洲(爱尔兰)

亚太地区(孟买)

向后兼容

亚太地区(孟买)、美国东部(弗吉尼亚北部)、美国西部(俄勒冈)、欧洲(爱尔兰)

亚太地区(海得拉巴)

备用区域

亚太地区(孟买)、亚太地区(新加坡)1

亚太地区(新加坡)

向后兼容

亚太地区(新加坡)、美国东部(弗吉尼亚北部)、美国西部(俄勒冈)、欧洲(爱尔兰)

亚太地区(悉尼)

向后兼容

亚太地区(悉尼)、美国东部(弗吉尼亚北部)、美国西部(俄勒冈)、欧洲(爱尔兰)

亚太地区(大阪)

仅限区域内

亚太地区(大阪)

亚太地区(雅加达)

仅限区域内

亚太地区(雅加达)

亚太地区(墨尔本)

备用区域

亚太地区(悉尼)、亚太地区(新加坡)1

欧洲地区(爱尔兰)

向后兼容

美国东部(弗吉尼亚北部)、美国西部(俄勒冈)、欧洲(爱尔兰)

欧洲地区(伦敦)

向后兼容

欧洲(伦敦)、美国东部(弗吉尼亚北部)、美国西部(俄勒冈)、欧洲(爱尔兰)

欧洲地区(巴黎)

仅限区域内

欧洲地区(巴黎)

欧洲地区(法兰克福)

向后兼容

欧洲(法兰克福)、美国东部(弗吉尼亚北部)、美国西部(俄勒冈)、欧洲(爱尔兰)

欧洲(苏黎世)

备用区域

欧洲地区(法兰克福)、欧洲地区(伦敦)1

欧洲地区(斯德哥尔摩)

仅限区域内

欧洲地区(斯德哥尔摩)

欧洲地区(米兰)

仅限区域内

欧洲地区(米兰)
欧洲(西班牙)

备用区域

欧洲地区(巴黎)、欧洲地区(斯德哥尔摩)1

中东(巴林)

仅限区域内

中东(巴林)

中东(阿联酋)

备用区域

欧洲地区(法兰克福)、欧洲地区(伦敦)1

南美洲(圣保罗)

仅限区域内

南美洲(圣保罗)

以色列(特拉维夫)

仅限区域内

以色列(特拉维夫)

非洲(开普敦)

仅限区域内

非洲(开普敦)

1 在具有默认电子邮件配置的用户池中使用。Amazon Cognito 在每个区域中通过具有相同电子邮件地址的经验证身份来分发电子邮件。要使用自定义 FROM 地址,请使用格式为 arn:${Partition}:ses:*:${Account}:identity/${IdentityName}SourceArn 参数来配置 EmailConfiguration

为您的用户池配置电子邮件

完成以下步骤为用户池配置电子邮件设置。根据您要使用的设置,您可能需要 Amazon SES、 AWS Identity and Access Management (IAM)和 Amazon Cognito 中的 IAM 权限。

注意

您在这些步骤中创建的资源无法跨 AWS 账户进行共享。例如,您不能为一个账户中的用户池配置用户池,然后将其用于另一个账户中的 Amazon SES 电子邮件地址。如果您在多个账户中使用 Amazon Cognito,请为每个账户中重复这些步骤。

步骤 1:使用 Amazon SES 验证电子邮件地址或域

在配置您的用户池之前,如果您要执行以下任一操作,则必须使用 Amazon SES 验证一个或多个电子邮件地址或域:

  • 使用您自己的电子邮件地址作为 FROM 地址

  • 使用您的 Amazon SES 配置处理电子邮件送达

通过验证您的电子邮件地址或域,您确认您拥有该电子邮件地址,这有助于防止未经授权的使用。

有关使用 Amazon SES 验证电子邮件地址的更多信息,请参阅 Amazon Simple Email Service 开发人员指南中的验证电子邮件地址。有关使用 Amazon SES 验证域的信息,请参阅验证域

步骤 2:将您的账户移出 Amazon SES 沙盒

如果您使用的是默认 Amazon Cognito 电子邮件配置,则跳过此步骤。

当你第一次在任何地方使用 Amazon SES 时 AWS 区域,它会将你置 AWS 账户 于该地区的 Amazon SES 沙箱中。Amazon SES 使用沙盒防止欺诈和滥用。如果您使用您的 Amazon SES 配置来处理电子邮件送达,则必须将您的 AWS 账户 移出沙盒,然后 Amazon Cognito 才能向用户发送电子邮件。

在沙盒中,Amazon SES 会对您可以发送的电子邮件数量和可以发送电子邮件的位置施加限制。您可以仅向已通过 Amazon SES 验证的地址和域发送电子邮件,也可以将其发送到 Amazon SES 邮箱模拟器地址。在您 AWS 账户 仍处于沙箱状态时,请不要将您的 Amazon SES 配置用于生产中的应用程序。在这种情况下,Amazon Cognito 无法将邮件发送到您用户的电子邮件地址。

要将您 AWS 账户 从沙箱中移除,请参阅《亚马逊简单电子邮件服务开发者指南》中的移出 Amazon SES 沙箱

步骤 3:授予 Amazon Cognito 电子邮件权限

您可能需要向 Amazon Cognito 授予特定权限,然后它才能向您的用户发送电子邮件。您授予的权限以及用于授予权限的过程取决于您使用的是默认电子邮件配置还是您的 Amazon SES 配置。

仅当您将用户池配置为使用 Cognito 发送电子邮件或将 EmailSendingAccount 设置为 COGNITO_DEFAULT 时,才能完成此步骤。

使用默认的电子邮件配置,您的用户池可以使用以下任一地址发送电子邮件。

  • 默认地址 no-reply@verificationemail.com

  • 来自您在 Amazon SES 中的已验证电子邮件地址或域的自定义 FROM 地址。

如果您使用自定义地址,Amazon Cognito 需要额外权限,以便使用此地址向您的用户发送电子邮件。通过 Amazon SES 中地址或域的发送授权策略来授予这些权限。如果您使用 Amazon Cognito 控制台向您的用户池添加自定义地址,此策略会自动附加到 Amazon SES 验证的电子邮件地址。但是,如果您在控制台之外配置用户池,例如使用 AWS CLI 或 Amazon Cognito API,则必须使用 A mazon SES 控制台或 API 附加策略。PutIdentityPolicy

注意

您只能使用 AWS CLI 或 Amazon Cognito API 在已验证的域中配置 FORM 地址。

发送授权策略根据使用 Amazon Cognito 调用 Amazon SES 的账户资源,来允许或拒绝访问。有关基于资源的策略的更多信息,请参阅 IAM 用户指南。在 Amazon SES 开发人员指南中可以找到基于资源的策略示例。

例 发送授权策略

以下示例发送授权策略授予 Amazon Cognito 使用经 Amazon SES 验证的身份的有限能力。Amazon Cognito 在代表 aws:SourceArn 中的用户池和 aws:SourceAccount 条件中的账户时才能发送电子邮件。

Regions with Amazon SES

用户池区域或备用区域中的发送授权策略必须允许 Amazon Cognito 服务主体发送电子邮件消息。有关更多信息,请参阅区域表。如果您的用户池区域Amazon SES 区域中的至少一个值匹配,请在以下示例中使用全局服务主体配置您的发送授权策略。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "stmnt1234567891234", "Effect": "Allow", "Principal": { "Service": [ "email.cognito-idp.amazonaws.com" ] }, "Action": [ "SES:SendEmail", "SES:SendRawEmail" ], "Resource": "<your SES identity ARN>", "Condition": { "StringEquals": { "aws:SourceAccount": "<your account number>" }, "ArnLike": { "aws:SourceArn": "<your user pool ARN>" } } } ] }
Opt-in Regions without Amazon SES

在可用 Amazon Cognito AWS 区域 的地方,Amazon SES 并非在所有可选模式中都可用。中东(阿联酋)是一个例子,只能在欧洲地区(法兰克福)(eu-central-1)使用经过验证的身份发送电子邮件。在使用默认电子邮件配置的用户池中,Amazon Cognito 也会在这两个区域中的每一个使用经过验证的身份发送电子邮件消息。就中东(阿联酋)而言,新增区域是欧洲地区(伦敦)。您必须更新两个区域中的发送授权策略。

每个备用区域中的发送授权策略必须允许用户池选择加入区域中的 Amazon Cognito 服务主体发送电子邮件消息。有关更多信息,请参阅区域表。如果您的区域标记为备用区域,请使用区域服务主体配置您的发送授权策略,如下例所示。根据需要将示例区域标识me-central-1符替换为所需的区域 ID。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "cognito-idp.me-central-1.amazonaws.com" ] }, "Action": [ "SES:SendEmail", "SES:SendRawEmail" ], "Resource": "<your SES identity ARN>", "Condition": { "StringEquals": { "aws:SourceAccount": "<your account number>" }, "ArnLike": { "aws:SourceArn": "<your user pool ARN>" } } } ] }

有关策略语法的更多信息,请参阅《Amazon Simple Email Service 开发人员指南》中的 Amazon SES 发送授权策略

有关更多示例,请参阅《Amazon Simple Email Service 开发人员指南》中的 Amazon SES 发送授权策略示例

仅当您将用户池配置为使用 Cognito 发送电子邮件或将 EmailSendingAccount 设置为 COGNITO_DEFAULT 时,才能完成此步骤。

使用默认的电子邮件配置,您的用户池可以使用以下任一地址发送电子邮件。

  • 默认地址 no-reply@verificationemail.com

  • 来自您在 Amazon SES 中的已验证电子邮件地址或域的自定义 FROM 地址。

如果您使用自定义地址,Amazon Cognito 需要额外权限,以便使用此地址向您的用户发送电子邮件。通过 Amazon SES 中地址或域的发送授权策略来授予这些权限。如果您使用 Amazon Cognito 控制台向您的用户池添加自定义地址,此策略会自动附加到 Amazon SES 验证的电子邮件地址。但是,如果您在控制台之外配置用户池,例如使用 AWS CLI 或 Amazon Cognito API,则必须使用 A mazon SES 控制台或 API 附加策略。PutIdentityPolicy

注意

您只能使用 AWS CLI 或 Amazon Cognito API 在已验证的域中配置 FORM 地址。

发送授权策略根据使用 Amazon Cognito 调用 Amazon SES 的账户资源,来允许或拒绝访问。有关基于资源的策略的更多信息,请参阅 IAM 用户指南。在 Amazon SES 开发人员指南中可以找到基于资源的策略示例。

例 发送授权策略

以下示例发送授权策略授予 Amazon Cognito 使用经 Amazon SES 验证的身份的有限能力。Amazon Cognito 在代表 aws:SourceArn 中的用户池和 aws:SourceAccount 条件中的账户时才能发送电子邮件。

Regions with Amazon SES

用户池区域或备用区域中的发送授权策略必须允许 Amazon Cognito 服务主体发送电子邮件消息。有关更多信息,请参阅区域表。如果您的用户池区域Amazon SES 区域中的至少一个值匹配,请在以下示例中使用全局服务主体配置您的发送授权策略。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "stmnt1234567891234", "Effect": "Allow", "Principal": { "Service": [ "email.cognito-idp.amazonaws.com" ] }, "Action": [ "SES:SendEmail", "SES:SendRawEmail" ], "Resource": "<your SES identity ARN>", "Condition": { "StringEquals": { "aws:SourceAccount": "<your account number>" }, "ArnLike": { "aws:SourceArn": "<your user pool ARN>" } } } ] }
Opt-in Regions without Amazon SES

在可用 Amazon Cognito AWS 区域 的地方,Amazon SES 并非在所有可选模式中都可用。中东(阿联酋)是一个例子,只能在欧洲地区(法兰克福)(eu-central-1)使用经过验证的身份发送电子邮件。在使用默认电子邮件配置的用户池中,Amazon Cognito 也会在这两个区域中的每一个使用经过验证的身份发送电子邮件消息。就中东(阿联酋)而言,新增区域是欧洲地区(伦敦)。您必须更新两个区域中的发送授权策略。

每个备用区域中的发送授权策略必须允许用户池选择加入区域中的 Amazon Cognito 服务主体发送电子邮件消息。有关更多信息,请参阅区域表。如果您的区域标记为备用区域,请使用区域服务主体配置您的发送授权策略,如下例所示。根据需要将示例区域标识me-central-1符替换为所需的区域 ID。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "cognito-idp.me-central-1.amazonaws.com" ] }, "Action": [ "SES:SendEmail", "SES:SendRawEmail" ], "Resource": "<your SES identity ARN>", "Condition": { "StringEquals": { "aws:SourceAccount": "<your account number>" }, "ArnLike": { "aws:SourceArn": "<your user pool ARN>" } } } ] }

用户池区域或备用区域中的发送授权策略必须允许 Amazon Cognito 服务主体发送电子邮件消息。有关更多信息,请参阅区域表。如果您的用户池区域Amazon SES 区域中的至少一个值匹配,请在以下示例中使用全局服务主体配置您的发送授权策略。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "stmnt1234567891234", "Effect": "Allow", "Principal": { "Service": [ "email.cognito-idp.amazonaws.com" ] }, "Action": [ "SES:SendEmail", "SES:SendRawEmail" ], "Resource": "<your SES identity ARN>", "Condition": { "StringEquals": { "aws:SourceAccount": "<your account number>" }, "ArnLike": { "aws:SourceArn": "<your user pool ARN>" } } } ] }

有关策略语法的更多信息,请参阅《Amazon Simple Email Service 开发人员指南》中的 Amazon SES 发送授权策略

有关更多示例,请参阅《Amazon Simple Email Service 开发人员指南》中的 Amazon SES 发送授权策略示例

如果您将用户池配置为使用您的 Amazon SES 配置,Amazon Cognito 在向用户发送电子邮件时,需要额外的权限代表您调用 Amazon SES。此授权将通过 IAM 服务授予。

当您使用此选项配置用户池时,Amazon Cognito 将创建一个服务相关角色,这是您 AWS 账户中的一种 IAM 角色类型。此角色包含允许 Amazon Cognito 访问 Amazon SES 并使用您的地址发送电子邮件的权限。

Amazon Cognito 使用设置配置的用户会话的 AWS 凭证创建您的服务相关角色。此会话的 IAM 权限必须包括 iam:CreateServiceLinkedRole 操作。有关 IAM 中权限的更多信息,请参阅 I AM 用户指南中的AWS 资源访问管理

有关 Amazon Cognito 创建的服务相关角色的更多信息,请参阅对 Amazon Cognito 使用服务相关角色

如果您将用户池配置为使用您的 Amazon SES 配置,Amazon Cognito 在向用户发送电子邮件时,需要额外的权限代表您调用 Amazon SES。此授权将通过 IAM 服务授予。

当您使用此选项配置用户池时,Amazon Cognito 将创建一个服务相关角色,这是您 AWS 账户中的一种 IAM 角色类型。此角色包含允许 Amazon Cognito 访问 Amazon SES 并使用您的地址发送电子邮件的权限。

Amazon Cognito 使用设置配置的用户会话的 AWS 凭证创建您的服务相关角色。此会话的 IAM 权限必须包括 iam:CreateServiceLinkedRole 操作。有关 IAM 中权限的更多信息,请参阅 I AM 用户指南中的AWS 资源访问管理

有关 Amazon Cognito 创建的服务相关角色的更多信息,请参阅对 Amazon Cognito 使用服务相关角色

步骤 4:配置用户池

如果您要将您的用户池配置为使用以下内容,请完成以下步骤:

  • 自定义 FROM 地址(显示为电子邮件发件人)。

  • 自定义 REPLY-TO 地址,用于接收您的用户发送到您的 FROM 地址的邮件

  • Amazon SES 配置

注意

如果您的已验证身份是一个电子邮件地址,Amazon Cognito 会默认将该电子邮件地址设置为 FROM 和 REPLY-TO 电子邮件地址。但如果您的已验证身份是一个域,则必须为 FROM 电子邮件地址提供一个值。

如果您要使用默认 Amazon Cognito 电子邮件配置和地址,则跳过此过程。

配置用户池以使用自定义电子邮件地址
  1. 转到 Amazon Cognito 控制台。如果出现提示,请输入您的 AWS 凭据。

  2. 选择 User Pools(用户池)。

  3. 从列表中选择现有用户池。

  4. 选择 “身份验证方法” 菜单,找到 “电子邮件配置”,选择 “编辑”

  5. Edit email configuration(编辑电子邮件配置)页面中,选择 Send email from Amazon SES(使用 Amazon SES 发送电子邮件)或 Send email with Amazon Cognito(使用 Amazon Cognito 发送电子邮件)。仅当您选择 Send email from Amazon SES(使用 Amazon SES 发送电子邮件)时,您才可以自定义 SES Region(SES 区域)、Configuration Set(配置集) 和 FROM sender name(FROM 发件人姓名)。

  6. 要使用自定义 FROM 地址,请完成以下步骤:

    1. SES region(SES 区域)下,选择包含验证的电子邮件地址的区域。

    2. FROM email address(FROM 电子邮件地址)下,选择您的电子邮件地址。使用您已通过 Amazon SES 验证的电子邮件地址。

    3. (可选)在 Configuration set(配置集)下,选择 Amazon SES 使用的配置集。进行此更改并保存可创建服务相关角色。

    4. (可选)在 FROM sender address(FROM 发件人地址)下,输入电子邮件地址。您可以仅提供电子邮件地址,也可以同时提供电子邮件地址和格式为 Jane Doe <janedoe@example.com> 的易记名称。

    5. (可选)在 REPLY-TO email address(REPLY-TO 电子邮箱地址)下,输入要用来接收用户发送到您的 FROM 地址的邮件的电子邮件地址。

  7. 选择 Save changes(保存更改)。

相关主题

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。