我正在开发一种工具,让用户通过电子邮件帐户以常规文件的形式接收一些数据。目标是实现这个:
文件→电子邮件附件→canbeanything@myapp.com→系统后端复制附件。
我可以使用Google的App Engine开发此应用程序吗?我已阅读他们关于处理电子邮件的文档,但我认为它只受管理员帐户的约束。你能解释一下实现这个目标的过程吗?
答案 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 documentation和Java documentation。
请注意,您可以通过这种方式接收附件的大小。我期待25Mo的线路,这是GMail的附件限制或32Mo,这是App Engine的POST请求大小限制。
收到电子邮件后,我强烈建议您在任务队列中执行处理,以避免导致电子邮件丢失的临时问题(内存不足,错误的过程)。
在保存附件时,请考虑使用Google云端存储,因为每个实体的数据存储限制为1Mb。