You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Amplify配置自定义域名邮箱发送验证码邮件

分步替换Amplify验证邮件的默认发件邮箱

1. 在AWS SES中完成自定义邮箱身份验证

  • 登录AWS控制台,进入Amazon SES服务
  • 左侧导航栏选择「已验证的身份」,点击「创建身份」
  • 选择「电子邮件地址」,输入你的自定义邮箱welcome@domain.com并创建身份
  • 登录该邮箱,点击SES发送的验证链接完成身份确认(你的域名已验证,无需重复操作域名验证步骤)

2. 给Cognito关联角色添加SES发送权限

  • 进入IAM控制台,找到Amplify项目对应Cognito用户池使用的角色(名称通常包含cognito或amplify关键字)
  • 为该角色添加权限策略,可选择直接附加AmazonSESFullAccess,或创建更精细的自定义策略仅允许指定邮箱发件:
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "ses:SendEmail",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "ses:FromAddress": "welcome@domain.com"
                }
            }
        }
    ]
}

3. 修改Cognito用户池的邮件发件配置

  • 进入AWS Cognito控制台,找到Amplify绑定的用户池
  • 左侧导航栏选择「消息自定义」,切换到「电子邮件」标签页
  • 在「发件人」区域选择「自定义发件人」,填入已验证的welcome@domain.com,保存配置

4. 更新Lambda自定义消息函数的发件人参数

  • 进入AWS Lambda控制台,打开你配置的自定义消息函数
  • 在代码中找到邮件发送逻辑,将Source字段的值替换为welcome@domain.com,示例代码片段:
import boto3

ses = boto3.client('ses')

def lambda_handler(event, context):
    # 自定义消息内容逻辑
    ses.send_email(
        Source='welcome@domain.com',
        Destination={
            'ToAddresses': [event['request']['userAttributes']['email']]
        },
        Message={
            'Subject': {'Data': '账号验证通知'},
            'Body': {'Html': {'Data': event['response']['emailMessage']}}
        }
    )
    return event
  • 确保Lambda函数的执行角色也拥有SES发送权限

5. 测试验证流程

  • 在Amplify项目中触发用户注册或邮箱验证操作
  • 检查目标邮箱,确认邮件发件人为welcome@domain.com,且内容符合自定义配置

内容的提问来源于stack exchange,提问作者Alexandre FERREIRA

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 13:35:44