自动处理Amazon SES通知以获取退回和投诉通知

Pra*_*ati 12 email notifications bounce amazon-web-services

我们正在使用AWS SES发送邮件.Amazon SES通过电子邮件或AWS SNS发送退回和投诉通知.我们希望自动处理退回和投诉通知(来自电子邮件或AWS SNS)以提取电子邮件ID,以便可以从原始列表中删除这些电子邮件.

自动化的一种方法是将这些通知发送到AWS SNS中的主题,然后使用AWS SQS订阅该主题,最后阅读AWS SQS中的消息.SNS支持通过以下协议进行订阅 - HTTP/HTTPS/EMail/EMail(JSON)/ SMS/SQS.这是可行的,但我发现自动处理跳出和投诉通知的简单任务太麻烦了.

有没有优雅的方法来解决这个问题?


我在亚马逊上找到了一个带有C#代码的博客条目.有更好的解决方案吗?

小智 10

我发现使用HTTP端点直接订阅SNS是最直接的方法.你只需编写几行代码就可以了.这是我的django示例:

def process(request):
    json = request.raw_post_data              
    js = simplejson.loads(json)
    info = simplejson.loads(js["Message"])
    type = info["notificationType"]           # "Complaint" or "Bounce"
    email = info["mail"]["destination"][0]


    # do whatever you want with the email
Run Code Online (Sandbox Code Playgroud)


Mik*_*ant 2

我认为你描述的方式可能是最优雅的方式。您已经在 SNS 和 SQS 中拥有非常合适的服务,这些服务具有大多数主要语言的关联 SDK,可让您轻松完成所需的操作。最困难的部分是编写代码来更新/删除邮件列表中的记录。