【问题标题】:Why does Amazon EC2 limit port 25? [closed]为什么 Amazon EC2 限制端口 25? [关闭]
【发布时间】:2016-04-14 04:39:56
【问题描述】:

上面写着here...

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

为什么不限制端口 465 和 587?为什么不是每个人都使用这些端口而不是 25 并完全避免节流问题?

【问题讨论】:

  • 一个小PS,这个问题的标题和内容不匹配,引用是关于EC2对端口25施加限制(我会改变它但它需要授权所以我会交给别人吧!)
  • 所以限制只有在从 EC2 发送时才起作用?
  • 不,您可以使用适当的凭据从任何地方发送。限制是全球性的。
  • 在 AWS 环境中,EC2 是唯一可以公开发送电子邮件的地方,因此限制仅适用于 EC2。一旦您将邮件发送到 SES,他们就会有更明确的邮件限制,因为您证明自己是非垃圾邮件发送者。

标签: amazon-web-services amazon-ses


【解决方案1】:

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

没有此限制,您可以创建一个新的 Amazon 帐户,启动一台 EC2 机器并发送几百万条垃圾邮件,然后才能进行任何操作。通过限制连接,新用户帐户无法使用该方案。

465/587 是经过身份验证的端口,它特别提到了 Amazon Simple Email Service (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 将检查您账户的限制并开始计算您的限制。此时,您是经过身份验证的端点的经过身份验证的用户(您不能通过 SES 匿名发送 - 您可以在 SES 中接收电子邮件,但除了邮件大小外,没有应用传入电子邮件限制)在这种情况下,您可以看到限制一个特定的端口将完全没有意义。

唯一在端口 25 上具有默认限制的 AWS 服务是 EC2。

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

这些限制永远无法消除,只能增加(尽管增加到相当疯狂的数字)

这些限制会随着时间的推移而增加,如果您认真使用 SES 并处理被阻止/退回的消息,您的数量将会增加。

所以,总结一下。

  • SES 节流端口 25、端口 465 或端口 587。
  • SES 将根据您的配额限制邮件的速率。
  • SES 速率限制完全独立于 TCP 端口号。

【讨论】:

  • 很好的答案。很抱歉在这里问,我可以找到很多关于什么是 SES 的信息,但是当可以删除 EC2 限制时为什么需要它?是不是因为你有责任在使用 EC2 时不被列入黑名单 - 而通过 SES,最坏的情况是你会被 SES 而不是“世界”列入黑名单(并且可以解决这个问题吗?)
【解决方案2】:

要明确 SES 发送限制,您必须了解有两种类型的限制:最大发送速率发送配额

除了这些限制之外,默认情况下,端口 25 的发送速率是节流 - 但可以移除该节流。

最大发送速率

Amazon SES 每秒可以从您的账户接受的最大电子邮件数。

发送配额

您在 24 小时内可以发送的最大电子邮件数量。所有新的 SES 帐户都设置在沙盒中,并且默认发送配额为每 24 小时 200 封电子邮件。您可以根据自己的需要和实际使用模式请求提高此限制。

直接回答您的问题:

为什么不限制端口 465 和 587?

默认速率限制在端口 25 上实施,因为这是常见的发送端口。这会导致在此端口上发送大量垃圾邮件。为了防止这种情况,AWS EC2 默认限制端口 25。端口 465 和 587 鲜为人知,并且不会受到那么多垃圾邮件的滥用。

为什么不是每个人都使用这些端口而不是 25 来完全避免节流问题?

如果他们的软件允许使用这些端口,他们可以/应该。一些旧版应用程序只能使用端口 25。在这种情况下,您可以请求取消限制。

关于 SES 发送限制的总结:

  • 端口 TCP/465 和 TCP/587 不受限制
  • 默认情况下端口 25 受到限制,但可以根据请求将其删除。
  • 您的 SES 帐户的每日发送配额限制始终适用
  • SES 帐户的每秒最大发送速率限制始终适用

【讨论】:

  • 这是不正确的,SES 不会限制端口 25,EC2 会,SES 没有理由这样做,因为您正在进行身份验证。但是,如果您通过 EC2 发送到 SES,您就是端口 25从出站 EC2 网络
  • 嗯,有两个 SO 问题 herehere aws forum postAWS blog 当然还有这个问题的第二段“EC2 对电子邮件施加默认发送限制通过端口 25 发送并限制出站连接"
  • 对不起@RodrigoM 但你绝对不正确。从问题中的链接:“Amazon EC2 对通过端口 25 发送的电子邮件施加默认发送限制,如果您尝试超过这些限制,则会限制出站连接。” EC2 网络基础设施会限制出站 TCP 25 无论目的地是什么,不仅对 SES,而且油门会影响 SES,因此在 SES 文档中提到。
  • @RodrigoM 那么应该由我们这些有知识的人来纠正他们的困惑。其他人将来会提出这个问题,并继续滋生这种混乱。 SES 和 EC2 是非常不同的服务,具有非常不同的网络要求。
  • EC2 端口 25 节流限制适用,因为 AWS 关心将其 IP 列入黑名单。他们不太关心您的本地 IP 是否被列入黑名单。端口 25 限制只是 EC2 网络出口的一揽子策略。您在帖子中似乎所做的所有更改都是在一个位置为 EC2 切换 SES。你更新的帖子在几乎所有方面仍然是错误的。这是一个糟糕的答案。我已经用正确的信息更新了我的信息。
猜你喜欢
  • 2012-05-07
  • 2011-06-15
  • 2013-01-01
  • 1970-01-01
  • 2015-08-20
  • 1970-01-01
  • 2012-04-23
  • 1970-01-01
相关资源
最近更新 更多