如何在Google Compute Engine上接收电子邮件

时间:2017-06-25 18:11:32

标签: php email google-cloud-platform google-compute-engine postfix-mta

Google的计算引擎默认阻止所有外发电子邮件端口。引自Compute Engine Documentation

  

当通过这些端口将流量发送到其外部IP地址时,Compute Engine会阻止或限制通过Internet和虚拟机之间以及两个虚拟机之间的所有以下端口/协议的流量(这还包括负载平衡地址) :   的>到端口25(SMTP)的所有传出流量都被阻止。       除已知的Google IP地址外,大多数到端口465或587(SMTP over SSL)的传出流量都被阻止。

作为解决方案,Google建议使用SendGrid等第三方网站来管理电子邮件。 SendGrid可以轻松地帮助您发送电子邮件,但接收电子邮件并不容易。

在服务器上安装电子邮件客户端不会有帮助,因为这些客户端需要与其他服务器通信以接收电子邮件的端口仍然被阻止。

我的问题是接收电子邮件最简单的解决方案是什么? SendGrid的解决方案是发送电子邮件,计算引擎文档指定了这一点。我已经安装了postfix,但是发送到我服务器的所有电子邮件都收到了超时错误,我的收件箱仍然是空的。

2 个答案:

答案 0 :(得分:3)

TL; DR - 您的外发电子邮件端口已被阻止,但传入的电子邮件端口未被阻止。如果您打开它们,并运行一个侦听传入电子邮件的邮件服务器 - 您仍然可以收到它们。您需要使用像SendGrid这样的第三方电子邮件发件人网关来发送电子邮件。

更长的版本

阻止了到端口CMP(.B) #0, xxx的所有传出流量,以便人们不会滥用GCE发送垃圾邮件,网上诱骗等电子邮件。

您仍然可以运行只接收电子邮件的邮件服务器。换句话说,没有提到阻止这些端口的传入流量。默认情况下,GCE防火墙阻止所有传入流量。您必须open up these listening ports using firewall rules

答案 1 :(得分:1)

我使用的是Mailgun而不是SendGrid。我使用MailGun的转发规则将所有电子邮件转发到我的一个Gmail帐户。 SendGrid也应该有转发规则。