2016-07-30 15 views
3

Ich versuche, eine E-Mail von meiner Anwendung zu senden. Der Code wird erfolgreich ohne Fehler ausgeführt. Aber es sendet die E-Mail nicht. Es zeigt diese Nachricht auf der Konsole an.E-Mail von python webapp2 senden Google App Engine

You are not currently sending out real email. 
If you have sendmail installed you can use it by using the 
server with --enable_sendmail 

Der Beispielcode von dem Google bereitgestellt ist:

message = mail.EmailMessage(
        sender="[email protected]", 
        subject="Your account has been approved") 

message.to = "ABC <[email protected]>" 
message.body = """Dear Albert: 
Your example.com account has been approved. You can now visit 
http://www.example.com/ and sign in using your Google Account to 
access new features. 
Please let us know if you have any questions. 
The example.com Team 
""" 
message.send() 

Antwort

0

Das ist, weil die dev_appserver standardmäßig echte Mails nicht versenden.

Email senden, wird funktionieren, wenn Sie zB auf einen Live-Server drücken:

appcfg update /path/to/app/ 

Aber wie die Fehlermeldung darauf hinweist, werden Sie die --enable_sendmail Flagge verwenden, wenn Sie Sendmail installiert haben auf Ihrem System oder die Verwendung smtp Flaggen, für zB:

dev_appserver /path/to/app/ --enable_sendmail=yes 

oder eine andere zB mit gmail als smtp Anbieter

dev_appserver /path/to/app --smtp_host=smtp.gmail.com --smtp_port=465 \ 
[email protected] --smtp_password=password 

Weitere Erklärung hier: https://cloud.google.com/appengine/docs/python/mail/

Mail und der Entwicklungs-Server

Der Entwicklungsserver konfiguriert werden kann E-Mail-Nachrichten direkt von Ihrem Computer zu senden, wenn Sie eine Funktion Ihrer Anwendung testen, die sendet Nachrichten. Sie können den Entwicklungsserver so konfigurieren, dass er einen SMTP-Server Ihrer Wahl verwendet. Alternativ können Sie den Entwicklungsserver anweisen, Sendmail zu verwenden, wenn Sendmail auf Ihrem Computer installiert und für das Senden von E-Mails eingerichtet ist. Wenn Sie keinen SMTP-Server konfigurieren oder Sendmail aktivieren, protokolliert der Entwicklungsserver den Inhalt der Nachricht , wenn Ihre App den Mail-Dienst aufruft. Die Nachricht wird nicht gesendet.