我的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
答案 0 :(得分:0)
我认为这个问题现在已经解决了。我通过启用结算来关联我的信用卡,现在我测试时发送了一封电子邮件。谁会想到......