从实例发送电子邮件


本文档介绍了从虚拟机实例发送邮件的选项,并提供了有关如何设置实例来发送电子邮件的一般建议。

使用标准电子邮件端口

Google Cloud 对发送到使用目标 TCP 端口 587 或 465 的外部目标 IP 地址的流量没有任何限制。隐式允许出站防火墙规则允许这种流量,除非您创建了阻止它的出站拒绝防火墙规则。

由于滥用风险,如果目标在 VPC 网络外部,则目标 TCP 端口 25 的连接会被阻止。这包括通过 Google Workspace 使用 SMTP 中继。但是,某些项目没有此限制,并且在端口 25 上允许外部 SMTP 出站流量。如需了解详情,请参阅禁止和受限流量

选择要使用的第三方电子邮件服务

除了使用标准电子邮件端口之外,使用受信任的第三方电子邮件服务提供商(如 SendGrid、Mailgun 或 Mailjet)可提高您的 IP 声誉得分

SendGrid、Mailgun 和 Mailjet 为 Compute Engine 客户提供免费层级,以便客户通过其服务器设置和发送电子邮件。如果您没有 Google Workspace 账号,请通过这些第三方合作伙伴,利用点击跟踪、分析、API 和其他功能来满足您的电子邮件需求。

或者,如果您熟悉 Google Workspace,并且已经付费使用支持电子邮件的 Google Workspace 账号,则可以设置中继服务,通过 Google Workspace 发送电子邮件。请注意,Gmail 和 Google Workspace 会对电子邮件活动实施限制

如果您没有 Google Workspace 账号,或者不想使用 Google Workspace 或第三方邮件提供商,则可以使用非标准端口在实例上设置自己的电子邮件服务器。您可以选择任何未遭 Compute Engine 阻止的临时端口

如果您希望在自定义端口上使用自己的电子邮件服务器,请按照您的电子邮件服务的特定文档来配置自定义电子邮件端口。

设置防火墙规则以允许自定义端口上的出站流量

为了允许通过自定义端口的出站流量,您需要设置防火墙规则。例如,以下步骤用于设置允许端口 2525 上的出站流量的规则。请将端口 2525 替换为您选择的自定义端口。

  1. 在 Google Cloud 控制台中,转到创建防火墙规则页面。

    转到“创建防火墙规则”

  2. 为防火墙规则选择名称。

  3. 网络下,选择您想要从中发送电子邮件的虚拟机实例的托管网络。

  4. 流量方向选择出站

  5. 目标下,为此规则选择适当的目标。例如,如果您想要将该规则应用于具有特定标记的实例,则可以选择指定的目标标记

  6. 如果您要允许虚拟机实例向任何目的地发送出站流量,请在目标过滤条件下设置 0.0.0.0/0。如果要限制目的地,请在此处输入其他 IP 地址范围。

  7. 协议和端口下,选择指定的协议和端口,再选择 tcp,然后输入 2525

  8. 点击创建以保存更改。

通过公司邮件服务器发送邮件

在某些情况下,您可能会有已在为您运行电子邮件服务的公司邮件服务器。如果您需要通过公司邮件服务器发送邮件,但却遭到阻止(请参阅本页顶部所述的端口限制),可以使用 VPN 绕过这些限制。此方法需要在您的 Compute Engine 集群上运行 VPN 客户端,并在您的公司网络路由器上运行 VPN 服务器。此设置允许您的实例出现在公司防火墙“内部”,并无限制地访问您的公司邮件服务器。

此配置存在安全隐患,因此应确保 Compute Engine 实例访问其所需服务。

后续步骤