AppEngine python的send_email不再工作了

时间:2016-04-02 14:38:20

标签: google-app-engine

我的appengine应用程序有一个调用url端点的cron作业,其处理程序使用google.appengine.api中的mail.send_mail。到目前为止,这已经好几个月了。

今天,电子邮件从未到来。我写了一些测试代码来调用send_mail,但是电子邮件没有被发送。我已经遵守了necesarry要求,例如发送电子邮件地址为anything@appname.appspotmail.com。

该函数也没有抛出任何异常。 appengine日志注意到url被调用,但没有错误或异常。

可能是什么问题?感谢。

编辑以按照建议添加一些代码。请注意,要实际测试此代码,需要一个AppEngine应用程序。在这种情况下,您需要将下面代码中的myApp等更改为使用的实际应用名称。

期待任何帮助/见解。

from google.appengine.api import mail

class TestEmailHandler(webapp2.RequestHandler):    
    def get(self):                  
        mySender = "mySender <mySender@myApp.appspotmail.com>"
        myTo = "myToAddress@example.com"
        mySubject = "Test Subject"
        myBody = "Test Body Text"
        myHtml = "<html><body>Test body</body></html>"
        try:
            mail.send_mail(sender=mySender,
                           to=myTo,
                           subject=mySubject,
                           body=myBody,
                           html=myHtml)
            self.response.headers['Content-Type'] = 'text/plain'
            self.response.write("Sent email. Body: " + myBody)        
        except:
            self.response.write("Exception. " + sys.exc_info()[0])

application = webapp2.WSGIApplication([
    ('/', MainPage),
    ('/test_email', TestEmailHandler)
], debug=True)

我的app.yaml看起来像这样:

application: myApp
version: 2
runtime: python27
api_version: 1
threadsafe: true

handlers:
- url: /.*
  script: myApp.application

inbound_services:
- mail  

1 个答案:

答案 0 :(得分:0)

我认为这个问题现在已经解决了。我通过启用结算来关联我的信用卡,现在我测试时发送了一封电子邮件。谁会想到......