【问题标题】:Google Cloud (Direct) Incoming SMTPGoogle Cloud(直接)传入 SMTP
【发布时间】:2024-04-28 02:30:02
【问题描述】:

我们有一个 AppEngine,它通过电子邮件从远程站点接收自动数据并将其存储到数据存储中。我们现在使用的是第 3 方 SMTP 主机,并且 /_ah/mail/ 工作正常。

其中很多数据来自传统的微控制器、PLC、智能电表等。它们都有电子邮件地址、SMTP 服务器、SMTP 用户/密码、发件人地址和间隔的配置。

我们想在 g1-small Compute Engine 实例上设置 postfix,以处理传入数据的经过身份验证的直接 SMTP 连接,但没有其他人这样做的示例。是否像编写一个后缀过滤器来获取数据并将其 POST 到 AppEngine 上的 /_ah/mail 一样简单?

或者,我们是否缺少更简单的方法?我们正在尽可能将一些设备转换为使用 POST/PUT,但我们有很多不同的设备,这需要时间。

【问题讨论】:

    标签: google-app-engine smtp email-attachments google-compute-engine google-cloud-platform


    【解决方案1】:

    Google App Engine 为入站电子邮件提供 SMTP 服务 - 发送到 <anything>@<app_id>.appspotmail.com 的邮件将发送到 /_ah/mail/<anything>。如果您的设备只需要向您的系统发送电子邮件,您可以将它们直接指向GAE's mail servers

    您关于在 GCE 上运行入站邮件服务器并使用它在您的应用程序上转发到 HTTP 的建议也是一个可行的解决方案,并且不需要滥用电子邮件服务器。 There are even companies that will do this for you!

    【讨论】:

    • 我对直接使用 GAE 邮件服务器的唯一担忧是我不希望它看起来像垃圾邮件并开始阻止/退回邮件。不过,当然值得测试。
    • @ccrvincent 你能解释一下垃圾邮件/阻止/退回邮件是如何影响传入邮件的吗?传出我理解,但我看不出它是如何影响这种情况的。谢谢你逗我。
    • 我不确定 Google 是否对通过 apppotmail 收到的邮件应用了任何反垃圾邮件方法。尝试直接发送可能会导致其中一些问题(缺少 SPF、来自动态 IP 范围等)。我们最终只使用 SendGrid 作为 SMTP 主机。然后我们可以配置 SPF 并有一点冗余。
    • 如何阻止其他人向 @.appspotmail.com 发送电子邮件?也许该应用程序可能会收到垃圾邮件的垃圾邮件。第三方或私人 smtp 服务器可能是来自 PLC 等的电子邮件的第一个目标。该 smtp 服务器可以丢弃未从批准的发件人到达的消息,并将其余消息转发到 GAE 应用程序地址。这有时可能是必要的,以避免被 GAE 应用程序的无用流量淹没。