我们可以使用 AWS SES 的 Bounce Management 功能来检测和处理无效的邮件传递。如果邮件地址不正确,SES 会将该邮件标记为“软退回”并发送通知给发送方。发送方可以选择将此邮件标记为“废件邮件”或者重新发送邮件。以下是一个示例代码,展示了如何使用 AWS SDK for Python (Boto3) 来实现这个功能:
import boto3
# Create an SES client
client = boto3.client('ses')
# Send email with incorrect email address
response = client.send_email(
Destination={
'ToAddresses': [
'user@gmail.comj', # incorrect email
],
},
Message={
'Body': {
'Text': {
'Charset': 'UTF-8',
'Data': 'Hello, world!',
},
},
'Subject': {
'Charset': 'UTF-8',
'Data': 'Test email',
},
},
Source='noreply@example.com',
)
# Check if any bounces occurred
response = client.get_send_statistics()
print(response['SendDataPoints'][0]['Bounces'][0]['Recipient']) # prints 'user@gmail.comj'
该代码发送一条邮件到一个无效的邮箱地址,并使用 get_send_statistics
方法来查询任何退信记录。如果存在退信记录,该方法将返回 bounce
对象,其中包含退信的原因和受影响的收件人地址。