第20天:使用 Python 和 SES 从 AWS Lambda 发送 HTML 邮件
发布: (2026年1月17日 GMT+8 00:00)
1 min read
原文: Dev.to
Source: Dev.to
超越纯文本
欢迎来到第 20 天。SNS 适合短信或内部警报,但面向用户的邮件需要 HTML。于是 Amazon SES 登场。
前置条件
- 在 SES 控制台(Identities)中验证你的邮箱。
- 为你的 Lambda IAM 角色添加
ses:SendEmail权限。
代码(Python)
与只接受字符串的 SNS 不同,SES 需要一个字典结构来描述 MIME 类型。
client.send_email(
Source='me@example.com',
Destination={'ToAddresses': ['me@example.com']},
Message={
'Subject': {'Data': 'My Subject'},
'Body': {
'Html': {'Data': '''
## Hello World
'''}, # HTML part
'Text': {'Data': 'Hello World'} # Plain‑text fallback
}
}
)
小技巧
在邮件模板中使用内联 CSS,因为 Gmail 和 Outlook 往往会剥离外部样式表。
