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

hal*_*tTm 0 python email google-app-engine

我写了一个示例代码,用于从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
""")
Run Code Online (Sandbox Code Playgroud)

app.yaml: -

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

handlers:
- url: .*
script: mail.py
Run Code Online (Sandbox Code Playgroud)

Chr*_*loe 10

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

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

你应该:

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