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?

Foi útil?

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top