使用App Engine Python处理/弹出有关错误的传入电子邮件

时间:2012-05-22 05:11:52

标签: python google-app-engine email error-handling python-2.7

收到产生错误的电子邮件时,退回邮件的最佳方式是什么?例如,您将文件存储在db.BlobProperty中,但电子邮件超过1米限制。需要以某种方式向请求发出退回错误,因此电子邮件不会持续点击服务器并且每15分钟增加一次计费。 (不要问我怎么知道:-P ......不是我在另一个问题中发布的单独但相关的问题。here

但是,其他错误表明我需要处理这个问题,然后才能收到包含多个附件的电子邮件,这些附件可以为我提供1GB的数据。

通常,邮件服务器处理退回,就像发送到错误地址并向客户端/服务器返回错误一样。我搜索过,但没有找到任何有用的信息。 YMMV

是否有无证件的功能?返回的正确响应是什么,以便原始服务器停止发送?

1 个答案:

答案 0 :(得分:2)

一旦消息到达您的App Engine应用程序,就无法退回消息。您有两种选择:

  1. 使用外发电子邮件API
  2. 向用户发送“退回邮件”
  3. 无声地丢弃消息
  4. 在任何一种情况下,你应该安装一个顶级异常处理程序(像webapp和webapp2这样的框架支持这个),记录异常,执行适当的操作,然后返回状态代码200而不是500,所以消息不会反复重新传递。

    在您的特定情况下,我也开始将附件存储在blobstore而不是blob属性中,以避免1MB的限制。