使用GMAIL的smtp-relay在GCP计算实例中发送电子邮件

3
我正在尝试使用Gmail的SMTP中继从计算机实例发送邮件,我已通过我的GSuite帐户启用了smtp-relay,并在我的计算机实例中配置了POSTFIX,根据mail.log文件显示邮件已被传送,但它没有出现在我的Gmail邮箱中。请问我错过了什么?以下是相应的日志记录。

enter image description here

1个回答

4
首先,看一下防火墙规则概览,在始终被阻止的流量部分,您可以发现以下内容:

Google Cloud 始终阻止以下表格中描述的流量。您的防火墙规则不能用于允许任何此类流量:

always_blocked_traffic

所以,您应该遵循文档 选择要使用的电子邮件服务

要使用 G Suite 域名:请按照 G Suite 文档中 SMTP 中继服务 设置的说明进行操作。通过 G Suite 进行 SMTP 中继只允许通过端口 465 或 587。不支持通过端口 25 进行 G Suite 中继

并使用端口 465 或 587 连接到 G Suite。

此外,请查看此指南 SMTP 中继:通过 Google 路由发送非 Gmail 消息

在“允许发件人”部分,选择可以通过SMTP中继服务发送邮件的用户: - “只有在我的域中注册的应用程序用户”——发件人必须是您域中的注册用户之一。 - “仅限我的域中的地址”——发件人不必是已认可的G Suite用户,但必须在您注册的一个域中。当您有第三方或自定义应用程序需要发送消息时,这可能很有用。 - “任何地址(不建议)”——发件人地址可以是任何东西,甚至是您域外的地址。
重要提示:选择“任何地址”选项会使您更容易受到滥用的攻击,可能是由于用户机器上的恶意软件或SMTP基础架构的错误配置。因此,我们不建议使用此选项。
然后进行下一步操作。
在认证部分,勾选一个或两个框以设置认证方法: - 仅接受来自指定IP地址的邮件 - 系统仅接受从这些IP地址发送的邮件作为来自您的域名。 - 要求SMTP身份验证 - 强制使用SMTP身份验证来识别发送域。使用此选项需要您的客户端通过TLS连接。
并检查是否已将您的实例列入白名单。
此外, 此示例 可能有助于检查您的步骤。 如果您仍然遇到问题,请检查可能的替代方案 SendGrid
这篇教程介绍了如何使用SendGrid在Compute Engine实例上运行的应用程序中发送电子邮件。 SendGrid是一种第三方电子邮件服务,为Compute Engine用户提供每月免费12,000封交易性电子邮件的免费试用。
或者您可以选择MailgunMailjet。如果它们适合您,但您仍然需要G Suite,则可以联系G Suite支持。如果它们对您也不起作用-您应该首先检查您的Postfix配置。

1
根据这些说明,需要支持不安全的应用程序,但现在这个选项已不再可用,所以您必须使用OAuth。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接