从python webapp2 Google App Engine发送电子邮件

时间:2016-07-30 06:57:27

标签: python email google-app-engine webapp2

我正在尝试从我的应用程序发送电子邮件。代码运行成功,没有错误。但它不发送电子邮件。它在Console上显示此消息。

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

Google提供的示例代码为:

message = mail.EmailMessage(
                    sender="shaizi9687@gmail.com",
                    subject="Your account has been approved")

message.to = "ABC <shahzebakram@hotmail.com>"
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()

1 个答案:

答案 0 :(得分:0)

那是因为dev_appserver默认不发送真实邮件。

当您推送到实时服务器时,电子邮件发送将起作用,例如:

appcfg update /path/to/app/

但是,正如错误消息指出的那样,如果您的系统上安装了sendmail或使用smtp标志,则必须使用--enable_sendmail标志,例如:

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

或其他例如使用gmail作为smtp提供程序

dev_appserver /path/to/app --smtp_host=smtp.gmail.com --smtp_port=465 \
--smtp_user=user@gmail.com --smtp_password=password 

此处有更多解释:https://cloud.google.com/appengine/docs/python/mail/

  

邮件和开发服务器

     

可以将开发服务器配置为发送电子邮件   当您测试应用程序的功能时,直接从您的计算机   发送消息。您可以配置开发服务器以使用   您选择的SMTP服务器。或者,您可以告诉   开发服务器使用Sendmail,如果你的安装了Sendmail   计算机和设置发送电子邮件。

     

如果您没有配置SMTP服务器或启用Sendmail,那么您的   app调用Mail服务,开发服务器将登录   消息的内容。该消息实际上不会被发送。