Ist smtp server verbindung offen?
Verfasst: Samstag 10. Dezember 2011, 00:22
Hallo Forum...
Ich brauche smtplib zum versenden von Mails. Dies funktioniert auch wunderbar, da der Verbindungsaufbau zum Server aber unter MacOS teilweise sehr lange dauert, verbinde ich beim Application Start in einem Background Thread. Damit man jederzeit schnell Mails verschicken kann, auch wenn dies erst nach einer Stunde zum ersten Mal geschieht, überprüfe ich alle paar Minuten, ob die Verbindung noch offen ist, falls nicht wird neu verbunden.
Gibt es eine elegante und effiziente Methode um zu überprüfen, ob die Verbindung noch offen ist?
Hier ein ganz kurzes Beispiel:
Liebe Grüsse und danke für jeden Tipp!
raorao
Ich brauche smtplib zum versenden von Mails. Dies funktioniert auch wunderbar, da der Verbindungsaufbau zum Server aber unter MacOS teilweise sehr lange dauert, verbinde ich beim Application Start in einem Background Thread. Damit man jederzeit schnell Mails verschicken kann, auch wenn dies erst nach einer Stunde zum ersten Mal geschieht, überprüfe ich alle paar Minuten, ob die Verbindung noch offen ist, falls nicht wird neu verbunden.
Gibt es eine elegante und effiziente Methode um zu überprüfen, ob die Verbindung noch offen ist?
Hier ein ganz kurzes Beispiel:
Code: Alles auswählen
import smtplib, time
fromaddr = 'me@web.com'
toaddrs = 'you@web.com'
msg = 'There was a terrible error that occured and I wanted you to know!'
username = 'me@web.com'
password = '123456'
server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls()
server.login(username,password)
# Wait some time and then check wheter the connection is still valid, but how...?
time.sleep(600)
# if not IS_STILL_VALID:
# reconnect()
server.sendmail(fromaddr, toaddrs, msg)
server.quit()
raorao