我正在尝试从我的应用程序发送电子邮件。代码运行成功,没有错误。但它不发送电子邮件。它在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()
答案 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服务,开发服务器将登录 消息的内容。该消息实际上不会被发送。