Google App Engine отправляет почту дважды - PullRequest
0 голосов
/ 12 июля 2011

Я написал пример кода для отправки электронной почты из 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
""")

app.yaml : -

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

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

1 Ответ

10 голосов
/ 12 июля 2011

Если действительно является вашим app.yaml, то любой запрос к вашему приложению приведет к отправке почты.

Если вы посетитесайт с веб-браузером, он сначала сделает запрос на /, затем, вероятно, также сделает запрос на /favicon.ico и, возможно, другие непреднамеренные запросы.Каждый из них приводит к отправке письма.

Вы должны:

  1. Сделать свой маршрут url в app.yaml более конкретным, чем. *
  2. Не просто местоваш код прямо в области видимости модуля, как вы это сделали для mail.py.Модули могут кэшироваться, и хотя этот будет работать, он может работать не всегда, поэтому используйте инфраструктуру webbapp для создания правильного приложения / обработчика в mail.py
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...