本文档介绍了从虚拟机实例发送邮件的选项,并提供了有关如何设置实例来发送电子邮件的一般建议。
使用标准电子邮件端口
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 阻止的临时端口。
- 如要使用 SendGrid、Mailgun 或 Mailjet:请相应地按照使用 SendGrid 发送电子邮件、使用 Mailgun 发送电子邮件或使用 Mailjet 发送电子邮件的说明进行操作。
- 要使用 Google Workspace 网域:请按照 Google Workspace 文档中的 SMTP 中继服务设置说明进行操作。通过 Google Workspace 进行 SMTP 中继时,只允许通过端口 465 或 587 执行。不支持通过端口 25 使用 Google Workspace 发送电子邮件。
如果您希望在自定义端口上使用自己的电子邮件服务器,请按照您的电子邮件服务的特定文档来配置自定义电子邮件端口。
设置防火墙规则以允许自定义端口上的出站流量
为了允许通过自定义端口的出站流量,您需要设置防火墙规则。例如,以下步骤用于设置允许端口 2525 上的出站流量的规则。请将端口 2525 替换为您选择的自定义端口。
在 Google Cloud 控制台中,转到创建防火墙规则页面。
为防火墙规则选择名称。
在网络下,选择您想要从中发送电子邮件的虚拟机实例的托管网络。
为流量方向选择出站。
在目标下,为此规则选择适当的目标。例如,如果您想要将该规则应用于具有特定标记的实例,则可以选择指定的目标标记。
如果您要允许虚拟机实例向任何目的地发送出站流量,请在目标过滤条件下设置
0.0.0.0/0
。如果要限制目的地,请在此处输入其他 IP 地址范围。在协议和端口下,选择指定的协议和端口,再选择 tcp,然后输入
2525
。点击创建以保存更改。
通过公司邮件服务器发送邮件
在某些情况下,您可能会有已在为您运行电子邮件服务的公司邮件服务器。如果您需要通过公司邮件服务器发送邮件,但却遭到阻止(请参阅本页顶部所述的端口限制),可以使用 VPN 绕过这些限制。此方法需要在您的 Compute Engine 集群上运行 VPN 客户端,并在您的公司网络路由器上运行 VPN 服务器。此设置允许您的实例出现在公司防火墙“内部”,并无限制地访问您的公司邮件服务器。
此配置存在安全隐患,因此应确保 Compute Engine 实例仅访问其所需服务。
后续步骤
- 使用 Sendgrid 从实例发送电子邮件。
- 使用 Mailgun 从实例发送电子邮件。
- 使用 Mailjet 从实例发送电子邮件。
- 参阅 Google Workspace 网域文档,了解如何使用 SMTP 中继服务。