【问题标题】:How to receive email on Google Compute Engine如何在 Google Compute Engine 上接收电子邮件
【发布时间】:2017-06-25 18:11:31
【问题描述】:

默认情况下,Google 的计算引擎会阻止所有外发电子邮件端口。引用Compute Engine Documentation

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

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

在服务器上安装电子邮件客户端将无济于事,因为这些客户端需要与其他服务器通信以接收电子邮件的端口仍然被阻止。

我的问题是接收电子邮件最简单的解决方案是什么? SendGrid 的解决方案是用于发送电子邮件,Compute Engine 文档对此进行了说明。我已经安装了 postfix,但是所有发送到我服务器的电子邮件都会收到超时错误,并且我的收件箱仍然是空的。

【问题讨论】:

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


【解决方案1】:

TL;DR - 你说得对,外发电子邮件端口被阻止,但收邮件端口未被阻止。如果您打开它们,并运行一个邮件服务器来侦听传入的电子邮件 - 您仍然可以接收它们。您只需要使用诸如 SendGrid 之类的第 3 方电子邮件发件人网关来发送电子邮件。

加长版

所有到端口 25/465/587 的传出流量都被阻止,这样人们就不会滥用 GCE 发送垃圾邮件、网络钓鱼等电子邮件。

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

【讨论】:

  • 我已经打开了必要的端口,我可以在 993 和 143 上远程登录我的服务器,但我仍然无法接收来自外部域的电子邮件。请帮忙
【解决方案2】:

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

【讨论】:

  • 刚刚浏览了 Google 和 sendGrid 的文档,SendGrid 似乎没有转发规则。如果真的不存在这样的规则,我可能不得不使用 MailGun...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-08-02
  • 1970-01-01
  • 1970-01-01
  • 2015-08-09
  • 1970-01-01
  • 2014-11-05
  • 1970-01-01
相关资源
最近更新 更多