为什么Amazon EC2限制端口25?

时间:2016-01-09 14:56:55

标签: amazon-web-services amazon-ses

它说here ......

  

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

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

2 个答案:

答案 0 :(得分:15)

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

如果没有此限制,您可以创建新的亚马逊帐户,启动EC2计算机并在完成任何操作之前发送数百万条垃圾邮件。通过限制连接,它使该方案对新用户帐户不可用。

465/587是经过身份验证的端口,它特别提到了Amazon Simple Email Service(SES),它专门用于批量发送电子邮件,并经过调整以检测垃圾邮件发送者的使用情况。

已编辑添加SES信息

首次注册SES时,您将被置于沙盒中。这会对您的帐户设置以下限制。

  • 您只能将邮件发送到Amazon SES邮箱模拟器以及经过验证的电子邮件地址和域
  • 您只能从经过验证的电子邮件地址和域发送邮件。
  • 每24小时最多可发送200封邮件。
  • 亚马逊SES每秒最多可接受一封来自您帐户的邮件。

这基本上意味着如果您想在生产场景中使用SES,因为您只能向已经明确验证的帐户发送/从中发送。您需要请求发送限制。您可以从控制台或通过提供支持票证来执行此操作。

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

如果我尝试每秒发送超过14条消息,通过SMTP(无论端口如何),如果我尝试发送超过50,000条消息,我将收到此SMTP错误消息454 Throttling failure: Maximum sending rate exceeded {{ 1}}

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

当您通过SMTP(在任何端口上)连接到SES并传递凭据时,AWS将检查您帐户的限制并开始计算您的限制。此时,您是经过身份验证的端点的经过身份验证的用户(您无法通过SES匿名发送 - 您可以在SES中接收电子邮件,但除了邮件大小之外,没有应用传入的电子邮件限制)在该上下文中,您可以看到限制一个特定的港口完全没有意义。

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

当您超出允许的限制时,SES将限制您的消息的时间。

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

这些限制将随着时间的推移而增长,如果您在使用SES和处理阻止/退回邮件时勤奋,您的数字将会增加。

总而言之。

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

答案 1 :(得分:2)

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

除了这些限制之外,端口25的发送速率默认为限制 - ,但可以删除该限制。

最高发送率

亚马逊SES每秒可从您的帐户接受的最大电子邮件数。

发送配额

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

直接回答您的问题:

  

为什么它没有限制端口465和587?

默认速率限制在端口25上强制执行,因为这是常见的发送端口。这会导致在此端口上发送大量垃圾邮件。为防止这种情况,AWS EC2默认会限制端口25。端口465和587不太为人所知,并且不受滥用垃圾邮件的影响。

  

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

如果他们的软件允许使用这些端口,他们可以/应该。某些遗留应用程序只能使用端口25.在这种情况下,您可以请求删除节流。

关于SES发送限制的摘要:

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