Estoy usando smtplib
y estoy enviando correos electrónicos de notificación desde mi aplicación. Sin embargo, noté que a veces (especialmente cuando hay mucho tiempo de inactividad entre el envío del correo) recibo un error de SMTPServerDisconnected
.python. ¿Puedo verificar si el Servidor SMTP está desconectado (para que pueda volver a conectarme?)
supongo que hay 2 soluciones para este saber (ninguno de ellos, aunque)
- aumentar el tiempo de inactividad entre el envío de correos
- reconexión cuando la conexión se ha reducido.
Creo que la segunda solución parece más elegante. ¿Pero cómo puedo hacer eso?
editar: Estoy añadiendo el código
from smtplib import SMTP
smtp = SMTP()
smtp.connect('smtp.server.com')
smtp.login('username','password')
def notifyUser():
smtp.sendmail(from_email, to_email, msg.as_string())
¿Está utilizando 'SMTP.sendmail' para enviar los correos electrónicos? Eso debería encapsular todos los comandos de nivel inferior a partir de 'connect'. ¿O intenta mantener una sesión SMTP abierta y volver a utilizarla para varios correos electrónicos? –
He agregado el código que solicitó. Espero que aclare la pregunta un poco más. :-) – xpanta