【问题标题】:Sending emails to AWS SES from EC2 with no elastic ip从没有弹性 ip 的 EC2 向 AWS SES 发送电子邮件
【发布时间】:2015-02-11 23:50:32
【问题描述】:

我有一个在 EC2 上的 Python Flask 上运行的小型应用程序。客户一直在抱怨没有收到系统电子邮件。我在 EC2 上平衡了生产应用程序的负载。我刚刚注意到,一旦每台服务器都有一个弹性 IP,电子邮件的可靠性似乎就会提高。因为我有一个负载均衡器,所以我通常不将 IP 分配给生产机器,而只将弹性 IP 分配给测试机器,并且只将 ip 地址分配给生产以在不需要测试时保留它而无需额外费用环境。

我是否需要每个服务器都需要一个弹性 IP,每个服务器都在需要时与电子邮件服务器 (SES) 通信?

注意:SES 在我的 AWS 区域不可用。

【问题讨论】:

    标签: python email amazon-web-services amazon-ec2 flask


    【解决方案1】:

    我猜你正在使用sendmail 发送电子邮件,对吗?

    根据Amazon SES Docs

    (可选)如果您通过 Amazon SES 从 Amazon EC2 实例发送电子邮件,您可能需要为您的 Amazon EC2 实例分配一个弹性 IP 地址,以便接收 ISP 接受您的电子邮件。更多信息see Amazon EC2 Elastic IP Addresses.)

    我建议离开 sendmail 并使用 Boto 与 SES 集成,或从 Python 应用通过 SMTP 将电子邮件提交到 Amazon。

    更新

    Michael - sqlbot 的评论让我想进一步调查,这就是我发现的。

    我记得在电子邮件上学习了反向 DNS 查找,发现了以下内容:

    亚马逊现在有一项新的电子邮件政策,其中阻止了出站 SMTP 流量(超出微量使用)。为了能够直接从 EC2 发送电子邮件,您还需要为您的实例配置一个弹性 IP 地址。亚马逊将努力保留常见反垃圾邮件列表的弹性 IP。

    还有

    亚马逊宣布了一个新的私人测试版,他们将为您的弹性 IP 地址设置 PTR 记录。

    取自Sending Email from EC2。本文解释了从 EC2 实例发送电子邮件的所有细节及其问题。尽管它已经过时,但我相信反向查找现在比以往任何时候都更适用于打击垃圾邮件。

    【讨论】:

    • you may need to assign an Elastic IP Address 奇怪的是措辞模糊,文档似乎没有解释原因。但是,似乎值得一提的是,如果 NAT 实例具有弹性 IP,则实例的弹性 IP 将提供的任何好处与实例通过 NAT 实例向外连接时没有什么不同。
    • 我做了更多的挖掘工作,并用我发现的内容更新了我的答案。
    猜你喜欢
    • 2014-07-12
    • 1970-01-01
    • 1970-01-01
    • 2016-11-17
    • 2022-05-23
    • 1970-01-01
    • 1970-01-01
    • 2017-09-28
    • 2011-08-07
    相关资源
    最近更新 更多