Python 在GAE上从web2py发送电子邮件

Python 在GAE上从web2py发送电子邮件,python,google-app-engine,web2py,Python,Google App Engine,Web2py,我正在尝试从GoogleAppEngine上托管的web2py应用程序发送邮件。但它不起作用。我使用了web2py提供的邮件功能。有人知道怎么做吗? 我在GAE文档中读到python邮件库不能与GAE一起使用,必须使用GAE邮件库。它是否也适用于web2py邮件? 谢谢您应该使用本机应用程序引擎邮件程序: web2py glion.tools.Mail类(Auth模块也使用该类)适用于GAE和非GAE开箱即用。您只需通过正确的设置: mail=Mail() mail.settings.serve

我正在尝试从GoogleAppEngine上托管的web2py应用程序发送邮件。但它不起作用。我使用了web2py提供的邮件功能。有人知道怎么做吗? 我在GAE文档中读到python邮件库不能与GAE一起使用,必须使用GAE邮件库。它是否也适用于web2py邮件?
谢谢

您应该使用本机应用程序引擎邮件程序:

web2py glion.tools.Mail类(Auth模块也使用该类)适用于GAE和非GAE开箱即用。您只需通过正确的设置:

mail=Mail()
mail.settings.server="smtp.example.com:25" or "gae"
mail.settings.sender="you@example.com"
mail.settings.tls=True or False
mail.settings.login="you:password"

它支持多种编码、MIME和附件。

web2py
glion.tools.Mail
类在GAE上工作。 请参阅代码片段
glion.tools
第310行

这是适用于GAE的正确设置

mail=Mail()
mail.settings.server="gae"
mail.settings.sender="you@example.com" #This must be the email address of a registered
                                       #administrator for the application, or the address 
                                       #of the current signed-in user. 
mail.settings.login="you:password"
看 发件人 发件人的电子邮件地址,发件人地址。这必须是应用程序的注册管理员的电子邮件地址,或当前登录用户的地址。可以使用管理控制台将管理员添加到应用程序中。可以使用Users API确定当前用户的电子邮件地址

对不起!我的英语很差。我希望能帮上忙

塞尔索·戈迪尼奥(塞尔索。gcosta@gmail.com)
2010年巴西世界杯足球冠军

当你说“不工作”时,你的确切意思是什么?它是否给了你一些错误信息?此页面似乎不相信电子邮件能与web2py+应用程序引擎一起工作:电子邮件未发送,我收到以下错误我收到以下错误。Mail.send失败:'module'对象没有属性'getaddrinfo'否。web2py在其上有一个层。web2py层应该是可移植的。“应该”是最关键的一个词。。。作者们自己似乎都不太相信它真的有效。Mail.send失败:'module'对象没有属性'getaddrinfo',邮件部分的代码为Mail=Mail()Mail.settings.server='smtp.gmail.com:587'Mail.settings.login='username:passwordxperia x1'Mail.settings.sender='username@gmail.com'mail.settings.tls=True或False mail.send(致、主题、信息)上面的代码在我从本地机器使用时有效,但在我上传到GAEI时无效。我在上面的评论中漏掉了一些东西,并对其进行了更正。确实,您必须拥有GAE API,而且web2py提供了一个抽象层。但您无法连接到外部服务器,因为smtplib需要套接字,而套接字不是available on GAE。底线您必须设置mail.settings.server=“GAE”
mail=Mail()
mail.settings.server="gae"
mail.settings.sender="you@example.com" #This must be the email address of a registered
                                       #administrator for the application, or the address 
                                       #of the current signed-in user. 
mail.settings.login="you:password"