亚马逊电子邮件服务(Amazon SES)现在通过亚马逊简单通知服务(Amazon SNS)提供反弹和投诉通知。您可以参考Amazon SES开发者指南或Jeff的帖子来了解如何设置此功能。在本文中,我们将向您展示如何使用亚马逊SNS通知中的信息管理您的电子邮件列表。
出身背景
亚马逊SES为您成功提交发送的每封电子邮件分配一个唯一的邮件ID。当亚马逊SES收到来自ISP的反弹或投诉信息时,我们会将反馈信息转发给您。反弹和投诉消息的格式因ISP而异,但Amazon SES会解释这些消息,如果您选择为它们设置Amazon SNS主题,则会将它们分类为JSON对象。
脚本
假设您使用Amazon SES向电子邮件地址列表发送月度产品公告。您将列表存储在数据库中,并通过Amazon SES向每个收件人发送一封电子邮件。你每天检查一次回扣和投诉,手动解释收到的电子邮件中的回扣信息,并更新列表。您希望使用Amazon SNS通知和计划任务自动化此过程。
解决方案
为了实现这个解决方案,我们将使用单独的亚马逊SNS主题来处理反弹和投诉,从而将通知渠道彼此隔离,并分别进行管理。此外,由于反弹和投诉处理程序不会全天候运行,因此我们需要这些通知持续存在,直到应用程序处理它们。Amazon SNS与Amazon Simple Queue Service(Amazon SQS)集成,后者是一种持久的消息传递技术,允许我们持久保存这些通知。我们将配置每个Amazon SNS主题以发布到单独的SQS队列。当我们的应用程序运行时,它将处理排队通知并更新电子邮件列表。我们在下面提供了C#代码示例。
配置
设置以下AWS组件以处理跳出通知:
创建一个名为ses bounces queue的Amazon SQS队列。
创建一个名为ses bounces topic的亚马逊SNS主题。
将Amazon SNS主题配置为发布到SQS队列。
将Amazon SES配置为使用SES反弹主题将反弹通知发布到SES反弹队列。
设置以下AWS组件以处理投诉通知:
创建一个名为ses投诉队列的Amazon SQS队列。
创建一个名为ses投诉主题的亚马逊SNS主题。
将Amazon SNS主题配置为发布到SQS队列。
将Amazon SES配置为使用SES投诉主题向SES投诉队列发布投诉通知。
确保IAM政策到位,以便Amazon SNS有权发布到适当的SQS队列。
反弹处理
亚马逊SES将你的硬反弹分为两类:永久性和暂时性。永久跳转表示您不应再向该收件人发送邮件。短暂的反弹表示收件人的ISP当时不接受该特定收件人的邮件,您可以在将来重试传递。在重新发送到生成瞬态反弹的地址之前,您应该等待的时间取决于瞬态反弹类型。某些瞬时反弹需要手动干预才能传递消息(例如,消息太大或内容错误)。如果弹跳类型尚未确定,则应手动查看弹跳并采取相应措施。
您需要定义一些类来简化从JSON到JSON的跳出通知解析。
合作企业
行业和类目
服务响应
垃圾拦截率
连续多年获得网易优秀经销商
一心一意专心致力于企业邮箱
满足企业信息化个性需求
一对一邮箱顾问服务