Como definir smtplib envio de tempo limite em Python 2.4?
-
19-09-2019 - |
Pergunta
Estou tendo problemas com smtplib amarrar meu programa quando email envio falhar, porque um tempo limite nunca é levantada. O servidor que estou usando não tem e nunca terá python superior a 2,4, por isso não posso fazer uso do argumento de tempo limite para o construtor SMTP em versões posteriores do python.
Python 2.4 de docs mostram que o SMTP classe não tem o argumento de 'timeout':
class SMTP([host[, port[, local_hostname]]])
Então, como posso simular essa funcionalidade?
Solução
import socket
socket.setdefaulttimeout(120)
fará qualquer momento tomada após 2 minutos, a menos de tempo limite do soquete específico é alterado (e eu acredito SMTP em Python 2.4 não faz o último).
Editar : aparentemente por comentário do OP Isso quebra TLS, por isso, o plano B ...:
E sobre agarrando 2,6 de smtplib arquivo de origem e backporting lo como seu próprio módulo ao seu 2.4? Não deve ser muito difícil ... e faz o apoio de tempo limite limpa -!)
Consulte aqui . ..