自定义 Amazon SNS 电子邮件通知

Posted

技术标签:

【中文标题】自定义 Amazon SNS 电子邮件通知【英文标题】:Customizing Amazon SNS email notifications 【发布时间】:2014-01-02 16:08:46 【问题描述】:

我们正在开发自定义评论系统,其中电子邮件通知将发送给帖子的所有订阅者,就像“Disqus”一样。我们发现 AWS 提供了简单通知系统(SNS),它在发送大量电子邮件通知和管理订阅者和主题方面做得相当好,但我没有找到任何可以更改电子邮件通知格式的文章,因为所有电子邮件都有亚马逊品牌推广。

是否可以通过 Amazon SNS 发送?

    没有亚马逊品牌的自定义电子邮件? 自定义订阅链接? 自定义退订链接? 自定义来自电子邮件地址? 在电子邮件中附加公司徽标。

因此删除了自定义 Amazon SNS 品牌。

【问题讨论】:

【参考方案1】:

我不相信任何定制是可能的。对于自定义电子邮件,您应该改用 Amazon SES。但是,您需要自己管理退订。

【讨论】:

感谢您的回复。我们已经在使用 Amazon SES 来发送与更改密码相关的电子邮件,但这也意味着我们必须创建基础设施来发布主题、向所有订阅者发送电子邮件,可能正在使用 Amazon Sqs 和 Amazon Ses。【参考方案2】:

您无法更改发件人 (AWS 通知),但您可以使用 Lambda 或在您的 EC2 或本地实例上运行的自定义代码更改正文。这是用于发送自定义 SNS 消息的 Python 代码:

import boto3
def lambda_handler(event, context):
    message = "My Custom Message"
    client = boto3.client('sns')
    response = client.publish(
        TargetArn="YOUR_ARN",
        Message=message,
        MessageStructure='text',
        Subject='My Subject',
    )

【讨论】:

【参考方案3】:

您绝对可以使用自定义消息。您必须在 lambda 中执行此操作。只需提取内容并使用 sns 发布 api。

查看此链接以获取示例。只需将 s3 事件放在 lambda 上,然后在 lambda 中运行 sns 发布

https://mattgadient.com/2016/06/14/creating-custom-notification-text-with-amazon-s3-and-sns-via-lambda/

【讨论】:

我在API 上看不到任何用于成功确认的自定义消息,我认为您可以更改初始电子邮件,但之后的确认不是。

以上是关于自定义 Amazon SNS 电子邮件通知的主要内容,如果未能解决你的问题,请参考以下文章

如何通过电子邮件订阅带有电子邮件端点的 Amazon SNS 主题?

过滤 cloudwatch 警报在 SNS 主题上发布的消息以接收电子邮件通知

在 AWS SNS(简单通知服务)电子邮件通知中发送 html 内容

ec2 实例创建和终止的 SNS 通知

Amazon SNS 推送通知服务

Amazon SNS 推送通知特殊字符