从实例发送电子邮件

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

使用标准电子邮件端口

由于滥用风险,如果目标在 VPC 网络外部,则目标 TCP 端口 25 的连接始终会被阻止。这包括通过 Google Workspace 使用 SMTP 中继。

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

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

除了使用标准电子邮件端口之外,使用受信任的第三方提供商(如 SendGrid、Mailgun 或 Mailjet)也可减轻 Compute Engine 和您面对邮件接收方维护 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 Console 中,转到创建防火墙规则页面。

    转到“创建防火墙规则”

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

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

  4. 流量方向选择出站

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

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

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

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

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

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

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

后续步骤