Come impostare l'invio smtplib timeout in Python 2.4?
-
19-09-2019 - |
Domanda
sto avendo problemi con smtplib legare il mio programma quando l'invio di email non riesce, a causa di un timeout non viene mai sollevata. Il server che sto utilizzando non lo fa e non avrà mai pitone maggiore di 2.4, quindi non posso fare uso dell'argomento timeout al costruttore SMTP nelle versioni successive di pitone.
Python 2.4 di docs mostrano che l'SMTP classe non ha l'argomento 'timeout':
class SMTP([host[, port[, local_hostname]]])
Quindi, come faccio a simulare questa funzionalità?
Soluzione
import socket
socket.setdefaulttimeout(120)
renderà ogni momento presa dopo 2 minuti, a meno che il timeout del socket specifica è cambiato (e credo SMTP in Python 2.4 non fa il secondo).
Modifica : a quanto pare per il commento di OP questo rompe TLS, così, piano B ...:
Che dire di afferrare 2.6 del file sorgente smtplib e backport come il proprio modulo al 2.4? Non dovrebbe essere troppo difficile ... e lo fa timeout supporto in modo pulito -!)
qui . ..