问题描述: 在使用AWS SES(Amazon Simple Email Service)发送邮件时,发现收件人未收到邮件。
解决方法: 以下是一个示例代码,展示了如何使用AWS SDK来发送邮件并处理发送结果。
首先,确保您已经安装了AWS SDK并配置了正确的API凭证。接下来,您可以使用以下代码示例发送邮件,并检查发送结果。
import boto3
def send_email(sender, recipient, subject, body):
# 创建SES客户端
ses_client = boto3.client('ses', region_name='us-west-2') # 根据您的区域进行更改
# 发送邮件
response = ses_client.send_email(
Source=sender,
Destination={
'ToAddresses': [
recipient,
],
},
Message={
'Subject': {
'Data': subject,
},
'Body': {
'Text': {
'Data': body,
},
},
},
)
# 检查发送结果
if response['ResponseMetadata']['HTTPStatusCode'] == 200:
print("邮件发送成功!")
else:
print("邮件发送失败!")
# 使用示例
send_email('sender@example.com', 'recipient@example.com', '测试邮件', '这是一封测试邮件。')
上述代码中,首先导入boto3库,并创建一个SES客户端。然后,调用send_email
函数,传递发送者、收件人、主题和邮件正文作为参数。在发送邮件后,检查response
中的HTTPStatusCode
字段来判断邮件是否成功发送。
请确保您已经正确配置了SES服务,并且发送者邮箱已经通过验证。还要确保您的AWS账户在发送邮件时没有被限制。
如果您仍然遇到问题,建议检查SES配置、日志和错误信息以获取更多详细信息。您可以查阅AWS SES文档以获取更多帮助和指导。