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?

War es hilfreich?

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 . ..

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top