如何在AWS SES中跟踪自定义邮箱验证后的系统状态更新?
解决AWS SES自定义验证后同步系统状态的方案
通过SES配置集捕获验证事件
- 在AWS控制台或用Boto3创建配置集,开启事件推送功能,指定将事件发送到SNS主题或Lambda函数。
- 调用
send_custom_verification_email时,添加ConfigurationSetName参数关联该配置集,这样SES会把邮箱验证的成功/失败事件推送到你指定的目标。
用Lambda处理事件更新系统状态
- 创建Lambda函数,将触发源设置为对应的SNS主题(或直接配置SES事件触发Lambda)。
- 在Lambda代码里解析SES事件数据,提取
emailAddress和eventType(比如CustomVerificationEmailSuccess代表验证成功)。 - 调用你的系统内部接口或直接操作数据库,把该邮箱的验证状态更新为已验证。
调用send_custom_verification_email时指定配置集的示例代码:
import boto3 ses_client = boto3.client('ses', region_name='你的区域') ses_client.send_custom_verification_email( EmailAddress='客户邮箱@example.com', TemplateName='你的自定义验证模板名', ConfigurationSetName='你的配置集名称' )备选方案:自定义验证链接携带用户标识
若不想依赖SES事件推送,可在自定义验证模板的链接中加入加密后的用户唯一标识(比如用户ID哈希值)。用户点击链接后,你的后端接口先调用SES的get_identity_verification_attributes接口确认该邮箱已验证,再更新系统中对应用户的邮箱状态。
注意:链接里的用户标识必须加密,避免被伪造请求。
内容的提问来源于stack exchange,提问作者Codengine
相关产品推荐
相关产品推荐

