Amazon SES可以处理没有实际电子邮件地址的电子邮件,但是需要使用Amazon S3来存储这些电子邮件。
以下是一个使用Amazon SES和Amazon S3的代码示例:
import boto3
# 创建SES和S3客户端
ses_client = boto3.client('ses')
s3_client = boto3.client('s3')
# 定义发送邮件的函数
def send_email(sender, recipient, subject, body):
# 生成唯一的邮件ID
message_id = boto3.client('ses').send_email(
Source=sender,
Destination={'ToAddresses': [recipient]},
Message={
'Subject': {
'Data': subject
},
'Body': {
'Text': {
'Data': body
}
}
}
)['MessageId']
return message_id
# 定义保存电子邮件的函数
def save_email_to_s3(bucket_name, message_id, email_content):
s3_client.put_object(
Bucket=bucket_name,
Key=message_id + '.eml',
Body=email_content
)
# 发送电子邮件
sender = 'sender@example.com'
recipient = 'recipient@example.com'
subject = 'Test Email'
body = 'Hello, this is a test email.'
message_id = send_email(sender, recipient, subject, body)
# 保存电子邮件到S3
bucket_name = 'email-bucket'
email_content = f'Subject: {subject}\n\n{body}'
save_email_to_s3(bucket_name, message_id, email_content)
在上面的示例中,send_email函数使用Amazon SES发送电子邮件。然后,save_email_to_s3函数使用Amazon S3将电子邮件保存到指定的S3存储桶中。
请注意,要使此示例正常工作,您需要先配置好Amazon SES和Amazon S3,并将正确的凭证(如访问密钥)配置到您的环境中。