Estoy iniciandome en esto del python, por motivos de trabajo y, como suele suceder en estos casos, el aprendizaje es a marchas forzadas.
Lo que me interesa es un pequeño script que envíe correos a través de un determinado servidor SMTP (cosa que no parece muy complicada).
Tengo un código tan sencillo como éste:
Código:
Y funciona perfecto, envía el correo a la dirección de destino mediante el servidor especificado. El problema es que necesito capturar la respuesta del SMPT. Para ello utilizo el método getreply() (el que está comentado en el código. Sin embargo con esta instrucción el script no termina nunca, cuando lo aborto manualmente me devuelve la siguiente traza:#! /usr/bin/python import smtplib smtpserver = "192.168.15.150" sender = "[email protected]" to = "[email protected]" subject = "Asunto" text = "Texto de prueba" msg = "From: %s\r\nTo: %s\r\nSubject: %s\r\n\r\n" % (sender, to, subject) msg = msg + text server = smtplib.SMTP(smtpserver) #server.set_debuglevel(1) server.sendmail(sender, to, msg) #(code,msg) = server.getreply() server.quit()
Código:
¿Estoy haciendo algo mal? Por lo que he podido leer al respecto debería funcionar... He probado con un par de servidores SMTP (ambos en máquinas de la red local en la que estoy) ¿Se me pasa algo por alto?Traceback (most recent call last): File "mail.py", line 15, in <module> server.getreply() File "/usr/lib/python2.5/smtplib.py", line 352, in getreply line = self.file.readline() File "/usr/lib/python2.5/socket.py", line 346, in readline data = self._sock.recv(self._rbufsize) KeyboardInterrupt
He buscado un poco, pero ando algo perdidillo y no sé muy bien cómo y dónde buscar información al respecto, en todos los ejemplos que he visto la sintasix es la misma.
Gracias y un saludo.