Google云引擎:开放587端口

Google cloud engine: Open port 587

在我的 rails 应用程序中,我使用 Amazon SES 设置了电子邮件,因为我之前使用的是 beantalk。

我已经转移到 Google Cloud Engine,但我想继续使用 Amazon SES,因为免费套餐每天最多允许 50000 封电子邮件,而且我的应用程序已经编码为可以处理 Amazon 服务的退回邮件和投诉.

亚马逊州:

You need to confirm with your host that ports 465 and 587 are open 
for outgoing SMTP calls. It will not be possible to use Amazon SES 
unless these ports are open.

Google 状态:

Google Compute Engine does not allow outbound connections on ports 
25, 465, and 587

有没有办法在我的 Google Cloud App 中打开端口 587 并使用 Amazon SES 电子邮件服务?这非常令人沮丧。 Google 有 sendgrid 和 mailgun 的指南,这两个与我无关。

我认为您不能使用这些端口,尤其是当您观察到这些端口被明确记录为不允许时。

一种可能的方法是在亚马逊上有一个更简单的应用程序,如果你愿意,它可以作为 GCE 应用程序(它将包含其余功能)的中继:

  • 收听来自您的 GCE 应用程序的电子邮件发送指令并相应地发送电子邮件
  • 监听退回和投诉并将它们(或者更确切地说是来自它们的相关信息)转发到 GCE 应用程序

解决方法在 SES 文档中。

To set up a STARTTLS connection, the SMTP client connects to the Amazon SES SMTP endpoint on port 25, 587, or 2587

http://docs.aws.amazon.com/ses/latest/DeveloperGuide/smtp-connect.html

tl;博士?使用端口 2587.

关于端口 25465587 的 Google 限制,一个简单的解决方法是设置端口转发规则并使用其他一些端口。

即:

-A PREROUTING -p tcp -m tcp -i eth0 --dport 15000 -j DNAT --to-destination XXX.XXX.XXX.XXX:587