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

How to receive email on Google Compute Engine

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

Compute Engine blocks or restricts traffic through all of the following ports/protocols between the Internet and virtual machines, and between two virtual machines when traffic is addressed to their external IP addresses through these ports (this also includes load-balanced addresses): > All outgoing traffic to port 25 (SMTP) is blocked. Most outgoing traffic to port 465 or 587 (SMTP over SSL) is blocked, except for known Google IP addresses.

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

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

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

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

TL;DR - 你是对的,外发电子邮件端口被阻止,但传入电子邮件端口没有。如果您打开它们,并且 运行 一个侦听传入电子邮件的邮件服务器 - 您仍然可以收到它们。您将需要使用 SendGrid 等第 3 方电子邮件发件人网关来发送电子邮件。

更长的版本

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

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