使用谷歌的应用引擎框架来阅读邮件并提取其附件?



我正在开发一种工具,允许用户通过电子邮件帐户以常规文件的形式接收一些数据。目标是实现这一点:

文件→电子邮件附件→ canbeanything@myapp.com →系统后端复制附件。

我可以使用 Google 的 App Engine 来开发此应用程序吗?我已经阅读了他们关于处理电子邮件的文档,但我认为它只绑定到管理员的帐户。你能解释一下实现这一目标的过程吗?

App Engine 应用程序可以接收发送到特定地址列表的电子邮件。如果my-app-id是您的申请,则任何以@my-app-id.appspotmail.com结尾的电子邮件都将发送到您的申请。

例如,以下电子邮件是应用将接收的有效目标:

  • hello@my-app-id.appspotmail.com
  • no-reply@my-app-id.appspotmail.com

请注意,即使您的应用具有自定义域(如 myapp.com (,目标电子邮件地址也将保留在 @my-app-id.appspotmail.com 中。您可以通过配置网域的电子邮件设置将所有电子邮件转发到 App Engine 来规避此问题。

一旦 App Engine 基础架构收到电子邮件,电子邮件就会发布到应用的特定 URL,您可以在其中编写处理程序(Java 中的 Servlet(来处理电子邮件内容并将其保存在某个位置。以下是有关接收电子邮件的 Python 文档和 Java 文档。

请注意,您可以通过这种方式接收的附件大小可能有限制。我期望大约是 25Mo,这是 GMail 的附件限制或 32Mo,这是 App Engine 的 POST 请求大小限制。

收到电子邮件后,我强烈建议您在任务队列中执行处理,以避免导致电子邮件丢失的临时问题(内存不足,进程错误(。

在保存附件时,请考虑使用Google Cloud Storage,因为数据存储限制为每个实体1Mb。

最新更新