Meine App appengine hat einen Cron-Job, der einen URL-Endpunkt aufruft, dessen Handler mail.send_mail von google.appengine.api verwendet. Das funktioniert seit einigen Monaten gut.AppEngine python send_email funktioniert nicht mehr
Heute ist die E-Mail nie angekommen. Ich habe einen Testcode geschrieben, um send_mail aufzurufen, aber die E-Mail wird nicht gesendet. Ich habe mich an die notwendigen Anforderungen gehalten, wie zB Senden von einer Email-Adresse des Formulars [email protected]
Die Funktion wirft auch keine Ausnahme. Die Appengine-Protokolle beachten, dass die URL aufgerufen wird, aber es gibt keinen Fehler oder eine Ausnahme.
Was könnte das Problem sein? Vielen Dank.
Bearbeiten, um Code wie vorgeschlagen hinzuzufügen. Beachten Sie, dass zum Testen dieses Codes eine AppEngine App benötigt wird. In diesem Fall müssten Sie myApp usw. im folgenden Code auf den tatsächlichen App-Namen ändern, der verwendet wird.
Wir freuen uns auf jede Hilfe/Einblicke.
from google.appengine.api import mail
class TestEmailHandler(webapp2.RequestHandler):
def get(self):
mySender = "mySender <[email protected]>"
myTo = "[email protected]"
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)
Mein app.yaml sieht wie folgt aus:
application: myApp
version: 2
runtime: python27
api_version: 1
threadsafe: true
handlers:
- url: /.*
script: myApp.application
inbound_services:
- mail
Bitte fügen Sie den Quellcode hinzu, [Minimales, vollständiges und verifizierbares Beispiel] (http://stackoverflow.com/help/mcve) – stjepano
Bearbeitete die Frage, um Code einzuschließen. Vielen Dank. – Srineet
Seltsam, gerade exakter Code wurde auch von einem Cron getestet und per E-Mail verschickt. Was ist in deiner Konfiguration, deine 'app.yaml'? –