谷歌应用引擎发送邮件两次

时间:2011-07-12 09:19:34

标签: python google-app-engine email

我写了一个示例代码,用于通过Python中的谷歌应用引擎发送电子邮件。我无法弄清楚为什么每次邮寄两次邮件?

mail.py : -

from google.appengine.api import mail

mail.send_mail(sender="ALPHA <ALPHA@gmail.com>",
        to="BETA <BETA@hotmail.com>",
        subject="test mail",
        body="""

Dear BETA,
How have you been?

Regards,
ALPHA
""")

的app.yaml : -

application: MyUniqueAppID
version: 1
runtime: python
api_version: 1

handlers:
- url: .*
script: mail.py

1 个答案:

答案 0 :(得分:10)

如果真的是您的app.yaml,那么对您的应用的任何请求将导致发送邮件。

如果您使用网络浏览器访问该网站,它将首先发出/请求,然后可能还会请求/favicon.ico以及其他可能的意外请求。每个都会导致邮件被发送。

你应该:

  1. 让app.yaml中的url路由比。*
  2. 更具体
  3. 不仅仅是将代码直接放在模块范围内,就像你为mail.py所做的那样。模块可以缓存,虽然工作,但它可能永远不会那样工作,所以使用webbapp框架在mail.py
  4. 中创建一个propper应用程序/处理程序