使用Google的App Engine框架来阅读邮件并提取其附件?

时间:2014-12-01 00:56:21

标签: google-app-engine email email-attachments

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

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

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

1 个答案:

答案 0 :(得分:0)

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 documentationJava documentation

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

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

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