无法通过 AWS EC2 远程登录到端口 25 上的 SMTP(MTA) 服务器

Pit*_*Hat 3 email smtp amazon-ec2 amazon-web-services

我正在尝试在 AWS EC2 实例上测试电子邮件验证服务,我的程序将在其中查询 SMTP 服务器(端口 25 上的邮件传输代理)。出于测试目的,我使用 Telnet 连接复制了该程序,该程序在我的本地计算机上运行良好:

telnet gmail-smtp-in.l.google.com 25
Trying 66.102.1.27...
Connected to gmail-smtp-in.l.google.com.
Escape character is '^]'.
220 mx.google.com ESMTP a20si12977453wrg.559 - gsmtp
HELO gmail.com
250 mx.google.com at your service
MAIL FROM:<testing@gmail.com>
250 2.1.0 OK a20si12977453wrg.559 - gsmtp
RCPT TO:<thisemailwillneverexist@gmail.com>
550-5.1.1 The email account that you tried to reach does not exist. Please try
550-5.1.1 double-checking the recipient's email address for typos or
550-5.1.1 unnecessary spaces. Learn more at
550 5.1.1  https://support.google.com/mail/?p=NoSuchUser a20si12977453wrg.559 - gsmtp
Run Code Online (Sandbox Code Playgroud)

但是,Telnet 在 EC2 上不起作用,如下例所示:

telnet gmail-smtp-in.l.google.com 25
Trying 74.125.133.26...
telnet: connect to address 74.125.133.26: Connection timed out
Trying 2a00:1450:400c:c08::1a...
telnet: connect to address 2a00:1450:400c:c08::1a: Network is unreachable
Run Code Online (Sandbox Code Playgroud)

EC2 正在运行 Linux 实例并允许所有出站连接。我的猜测是,AWS 不允许您连接到端口 25 上的 SMTP 服务器以防止垃圾邮件,但我还没有看到对此的确认。有什么建议我可以解决这个问题吗?如果 AWS 太严格,有什么替代的类似 AWS 的服务可以让我迁移我的项目吗?

谢谢你!

Erv*_*gyi 5

默认情况下,AWS 会阻止 EC2 实例和 Lambda 函数在端口 25 上的出站流量(来源:AWS 支持页面)。

您可以通过以下链接提出取消 EC2 实例端口 25 限制的请求:https://aws-portal.amazon.com/gp/aws/html-forms-controller/contactus/ec2-email-limit-rdns -要求。您必须登录您的 AWS 账户才能访问此链接。

  • 太可惜了。我的请求被拒绝,因为他们不喜欢这个用例,尽管不会发送任何电子邮件。对于出站端口 25,是否有任何 AWS 的替代方案,其方法更加自由? (2认同)