python - 使用App Engine Python处理/退回有关错误的传入电子邮件

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

收到产生错误的电子邮件时,退回邮件的最佳方法是什么?例如,您将文件存储在db.BlobProperty中,但传入的电子邮件超过了1m的限制。该请求必须以某种方式出现退回错误,以使电子邮件不会每隔15分钟就不断到达服务器并增加计费。 (不要问我我怎么知道:-P ...确实不是我在另一个问题中发布的单独但相关的问题。here)

但是那个其他错误使我清楚地知道,在我收到带有多个附件的电子邮件之前,我需要处理这个问题,该附件为我提供了1gb的数据。

通常,邮件服务器会处理退回,就像您发送到错误的地址并将错误返回给客户端/服务器一样。我已经搜索过,没有发现任何有用的信息。青年汽车

是否有未记录的功能?返回以使原始服务器停止发送的正确响应是什么?

最佳答案

邮件到达您的App Engine应用后,便无法将其退回。您有两种选择:

  • 使用传出电子邮件API自己向用户发送“退回邮件”
  • 静默丢弃消息

  • 无论哪种情况,您都应该安装一个顶级异常处理程序(像webapp和webapp2这样的框架都支持此功能),该异常处理程序记录异常,执行适当的操作,然后返回状态码200而不是500,因此该消息不会重复交付。

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

    关于python - 使用App Engine Python处理/退回有关错误的传入电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10696017/

    相关文章:

    google-app-engine - 为什么 "billed"实例的数量远远大于 "active"实例的数量?

    PHP 不会从 MySQL 数据库中获取电子邮件地址以显示在 html 文档中

    python - 如何在 Python3 中验证 json 结构

    python - 如何使用Python创建GDB子进程并根据输出动态发送命令?

    Python::删除所有匹配项直到第一个空格

    java - 使用与appengine服务器兼容的java为android客户端开发webservice(json格式)

    python - 谷歌机器学习引擎云存储作为文件

    email - 关于 MX 记录的困惑

    email - Mutt 发送签名 Hook

    python - 调试并行 Python 程序 (mpi4py)