要在AWS Lambda中使用AWS SES发送电子邮件,您需要确保已正确配置AWS SES,并在Lambda函数中正确设置访问密钥。
以下是一个示例Lambda函数,用于发送电子邮件:
import boto3
def lambda_handler(event, context):
# 创建SES客户端
ses_client = boto3.client('ses', region_name='us-west-2') # 根据您的区域设置正确的区域名称
# 发送电子邮件
response = ses_client.send_email(
Source='sender@example.com', # 发件人邮箱地址
Destination={
'ToAddresses': [
'recipient@example.com' # 收件人邮箱地址
]
},
Message={
'Subject': {
'Data': 'Hello from AWS Lambda' # 邮件主题
},
'Body': {
'Text': {
'Data': 'This email was sent using AWS Lambda and SES' # 邮件内容
}
}
}
)
# 输出发送结果
print(response)
return {
'statusCode': 200,
'body': 'Email sent successfully'
}
请确保您已为Lambda函数配置了正确的IAM角色,以便具有发送电子邮件的权限。您可以为该角色添加以下策略,以便具有必要的权限:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ses:SendEmail",
"ses:SendRawEmail"
],
"Resource": "*"
}
]
}
确保在代码中填入正确的发件人和收件人邮箱地址,并将区域名称更改为正确的区域。
如果您仍然遇到问题,建议检查AWS SES的配置和限制以及IAM角色的权限设置。