2011-07-12 49 views
0

我寫了一個示例代碼來發送電子郵件從谷歌應用程序引擎在Python中。我無法弄清楚它爲什麼發送每封郵件兩次?谷歌應用引擎發送郵件兩次

mail.py: -

from google.appengine.api import mail 

mail.send_mail(sender="ALPHA <[email protected]>", 
     to="BETA <[email protected]>", 
     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 

回答

10

如果真的是你的app.yaml,然後任何請求你的應用程序將導致郵件被髮送。

如果您使用網絡瀏覽器訪問網站,它將首先提出/的請求,然後可能還請求/favicon.ico以及潛在的其他非預期請求。每個都會導致郵件被髮送。

你應該:

  1. 請在app.yaml中超過特定​​的url路線*
  2. 不只是直接把你的代碼的模塊範圍,你似乎已經做了mail.py.。模塊可以獲取緩存雖然這工作,它可能不是那樣的工作永遠,所以使用webbapp框架mail.py內創建一個propper應用程序/處理器
相關問題