0

当收到一封产生错误的电子邮件时,退回邮件的最佳方式是什么?例如,您将文件存储在 db.BlobProperty 中,但收到的电子邮件超出了 1m 的限制。请求需要以某种方式出现退回错误,这样电子邮件就不会一直打到服务器并每 15 分钟增加一次计费。(不要问我是怎么知道的:-P ...这不是我在另一个问题中发布的一个单独但相关的问题。这里

但是另一个错误清楚地表明我需要处理这个问题,然后才能收到包含多个附件的电子邮件,这些附件让我需要 1gb 的数据。

通常,邮件服务器会处理退回邮件,例如当您发送到错误地址并向客户端/服务器返回错误时。我已经搜索并没有发现任何有用的信息。YMMV

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

4

1 回答 1

2

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

  1. 使用外发电子邮件 API 自己向用户发送“退回邮件”
  2. 默默地丢弃消息

在任何一种情况下,您都应该安装一个顶级异常处理程序(webapp 和 webapp2 等框架对此提供支持)记录异常,执行适当的操作,然后返回状态代码 200 而不是 500,因此消息不会被反复重新交付。

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

于 2012-05-22T06:39:58.860 回答