Wie smtplib Senden Timeout in Python 2.4 setzen?
-
19-09-2019 - |
Frage
Ich habe Probleme mit smtplib bindet mein Programm, wenn E-Mail-Übermittlung fehlschlägt, weil ein Timeout nie ausgelöst wird. Der Server ich benutze nicht und wird nie Python größer als 2,4, so kann ich keinen Gebrauch von dem Timeout-Argumente an den SMTP-Konstruktor in späteren Versionen von Python machen.
Python 2.4 ist docs zeigen, dass der SMTP Klasse nicht das 'timeout' Argument:
class SMTP([host[, port[, local_hostname]]])
So wie simulieren ich diese Funktion?
Lösung
import socket
socket.setdefaulttimeout(120)
wird jede Steckdose Zeit nach 2 Minuten machen, es sei denn die Timeout-spezifische Socket geändert wird (und ich glaube, SMTP in Python 2.4 diesen nicht tun).
Bearbeiten : anscheinend pro Kommentar des OP dieser TLS bricht, so, Plan B ...:
Was ist Grabbing 2.6 des smtplib Quelldatei und Zurückportieren es als Ihr eigenes Modul zu Ihrem 2.4? Sollte nicht allzu schwer sein ... und tut Unterstützung Timeout sauber! -)
Siehe hier . ..