为什么亚马逊EC2限制25号端口?

14

在这里提到...

Amazon EC2 对通过端口25发送的电子邮件强制施加默认发送限制,并且如果您试图超过这些限制,则会限制出站连接。 要删除这些限制,请提交“请求删除电子邮件发送限制”。 您还可以通过端口465或端口587连接到Amazon SES,这两个端口均未受到限制。

为什么不对465和587端口进行限流? 为什么不所有人都使用这些端口而避免完全出现限流问题?


3
小注:这个问题的标题和内容不相符,引用是关于EC2对端口25施加限制的(我会修改它,但需要授权,所以我会留给别人来改!) - Michael B
那么,限制只有在从EC2发送时才会发挥作用? - Ian Warburton
不,只要有适当的凭据,您可以从任何地方发送。限制是全局的。 - Rodrigo Murillo
2
在AWS上下文中,EC2是唯一可以从中公开发送电子邮件的地方,因此限制仅适用于EC2。一旦你将邮件发送到SES中,那么它们就有更明确的消息限制,并随着你证明自己不是垃圾邮件发送者而逐渐升级。 - Michael B
2个回答

23

这是一项反垃圾邮件措施。

如果没有此限制,您可以创建一个新的亚马逊账户,启动一个EC2计算机,并在任何事情被发现之前发送数百万条垃圾邮件。通过限制连接,它使得这种情况对新用户帐户不可用。

465/587端口是经过身份验证的端口,特别提到了Amazon简单邮件服务(SES),该服务专门设计用于批量发送电子邮件,并调整为检测垃圾邮件发送者使用。

编辑以添加SES信息

当您首次注册SES时,系统会将您放置在沙盒中。这将对您的帐户施加以下限制。

  • 只能向Amazon SES邮箱模拟器和已验证的电子邮件地址和域名发送邮件
  • 只能从已验证的电子邮件地址和域名发送邮件。
  • 每24小时只能发送200封邮件。
  • Amazon SES每秒最多可以接受来自您的帐户的一条消息。

这基本上意味着,如果您想在生产环境中使用SES,因为您只能向/从您明确验证过的帐户发送邮件。您需要请求提高发送限制。您可以通过控制台或提出支持工单来完成此操作。

然后,您将获得新的发送限制和每日配额。例如,在我的开发帐户上,每天有50,000个配额和14/秒的发送限制。

如果我尝试在SMTP(无论端口)上每秒发送超过14条消息,则会收到此SMTP错误消息454 Throttling failure: Maximum sending rate exceeded,如果我尝试发送超过50,000条消息,则会收到 454 Throttling failure: Daily message quota exceeded

为了理解限制如何工作,您需要考虑正在发生的过程。

当您通过SMTP连接到SES(任何端口),并传递您的凭据时,AWS将检查您帐户上的限制并开始计算。此时,您是通过经过身份验证的端点进行身份验证的经过身份验证的用户(您无法匿名发送邮件)。在这种情况下,可以看出限制特定端口是完全没有意义的。

唯一在25号端口上默认限制流量的AWS服务是EC2。

唯一 SES会限制您的消息是当您超出允许的限制时。

这些限制永远无法删除,只能增加(尽管增加到非常高的数字)

如果您在使用SES和处理阻止/退回消息方面勤奋,这些限制将随时间增长。

因此,总结如下。

  • SES 不会 限制25号端口、465号端口或587号端口。
  • SES仅根据您的配额限制消息速率。
  • SES速率限制完全独立于TCP端口号。

非常好的回答。很抱歉在这里问,我可以找到很多关于SES是什么的信息,但不知道为什么需要它,当EC2限流可以被解除?这是因为您有责任在使用EC2时不被列入黑名单,而通过SES,最坏的情况是您会被SES列入黑名单,而不是“全世界”(并且可以解决这个问题)? - Jeppe

3
要明确 SES 发送限制,您需要了解两种类型的限制:最大发送速率和发送配额。
除了这些限制,端口 25 的发送速率默认受到限制,但是该限制可以被取消。
最大发送速率是指 Amazon SES 每秒钟从您的帐户接收的电子邮件的最大数量。
发送配额是您在 24 小时内可以发送的电子邮件的最大数量。所有新的 SES 帐户都设置在沙盒中,并且每 24 小时有默认的发送配额为 200 封电子邮件。您可以根据实际需求和使用模式请求提高此限制。
直接回答您的问题:
为什么不对 465 和 587 端口进行限制?
默认情况下,端口 25 上执行默认速率限制,因为这是常用的发送端口。这会导致许多垃圾邮件通过此端口发送。为防止此类情况发生,AWS EC2 默认限制端口 25。而端口 465 和 587 不太出名,也没有受到太多垃圾邮件滥用的情况。
为什么不每个人都使用这些端口而避免限制问题?
如果其软件允许使用这些端口,则他们可以/应该使用。某些传统的应用程序只能使用端口 25。在这种情况下,您可以请求取消限制。
总之,SES 发送限制如下:
1. TCP/465 和 TCP/587 端口不受限制。 2. 默认情况下会对端口 25 进行限制,但是可以通过请求来取消限制。 3. 您的 SES 帐户每天发送配额限制始终适用。 4. 您的 SES 帐户每秒钟最大发送速率限制始终适用。

7
这是错误的,SES不会限制端口25,EC2会这样做。由于你进行了身份验证,SES没有理由这样做。但是如果你通过EC2发送到SES,你将使用出站EC2网络的25号端口。 - Michael B
2
这里有两个关于AWS EC2邮件发送限制的stackoverflow问题这里这里,还有一个AWS论坛帖子这里和一个官方博客,当然还有这个问题的第二段:"EC2对通过端口25发送的电子邮件施加默认发送限制,并限制出站连接"。 - Michael B
2
抱歉@RodrigoM,但您的说法是错误的。从问题链接中可以看到:“Amazon EC2对通过端口25发送的电子邮件施加默认发送限制,并在您试图超过这些限制时限制出站连接。”EC2网络基础设施会限制TCP 25的出站流量,不仅限于SES,但该限制会影响SES,因此在SES文档中提到了它。 - Michael - sqlbot
2
@RodrigoM,那么应该由我们这些有知识的人来纠正他们的困惑。否则,那些未来来到这个问题并继续传播混淆的人将会越来越多。SES和EC2是非常不同的服务,具有非常不同的网络需求。 - Michael B
2
EC2端口25限流是因为AWS关注其IP被列入黑名单。他们对你的本地IP被列入黑名单关注较少。端口25限流仅仅是针对EC2网络出口的一项普遍政策。你在帖子中似乎只是将SES换成了EC2。你更新的帖子几乎在所有方面都是错误的。这是一个糟糕的回答。我已经用正确的信息更新了我的回答。 - Michael B
显示剩余8条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接