谷歌App Engine上的退回邮件
我正在为谷歌应用引擎(Python)开发一个应用,这个应用不仅需要发送邮件,还需要知道哪些邮件被退回。
我为我的域名创建了一个专门的账户 noreply@example.com,并把它添加为应用管理员,从这个账户发送消息。
问题是(在这里有描述过 http://code.google.com/p/googleappengine/issues/detail?id=1800)——谷歌应用引擎会把返回路径设置为某个内部邮箱地址,这样就无法收到被退回的邮件了。
有没有人知道有什么解决办法吗?谢谢。
4 个回答
2
谷歌实际上已经添加了一种通过HTTP请求接收退信消息的方法。你需要在你的app.yaml文件中添加一些内容:
inbound_services:
- mail_bounce
这样一来,每当收到退信时,就会有请求发送到 /_ah/bounce
。你可以通过为这个请求添加处理程序来处理退信。想了解更多关于如何从这些请求中获取额外信息的细节,可以查看这里的处理退信通知部分。
2
在问题解决之前,我的项目临时解决办法是使用 typhoonae,把邮件服务绑定到谷歌应用的Gmail上,作为SMTP(这样可以从noreply@example.com发送消息)。通过这种方式发送邮件时,noreply@example.com会收到退回的邮件。
3
看起来有人通过切换到 雅虎的邮件API 来解决这个问题。这个API使用了一种叫做OAuth的技术,可以通过HTTP来使用。在谷歌解决你的问题之前,这似乎是一个不错的解决办法。