Mail sobre ssl

José Jachuf jjachuf en gmail.com
Vie Abr 13 22:33:36 CEST 2007


Gabriel Genellina escribió:
> En Sun, 25 Mar 2007 15:03:46 -0300, José Jachuf <jjachuf en gmail.com> 
> escribió:
> 
>> Utilizo python 2.4.4.
>> Necesito enviar correos sobre SSL utilizando el puerto 465. El servidor
>> que uso es gmail. Seguí este ejemplo:
>> http://aleph-null.tv/go.php?doc=20070216-1104-925.xml, pero me tira 
>> errores y no se envia nada
>>
>> el error mostrado es:
>> Traceback (most recent call last):
>>    File "correo_ssl.py", line 8, in ?
>>      conn.sendmail('destino en gmail.com', 'origen en gmail.com', msg)
> 
> La llamada a sendmail esta mal, fijate en 
> http://docs.python.org/lib/SMTP-objects.html
> 
> --Gabriel Genellina

He visto en varios foros que este error aparece.

El código quedó así:

...
try:
    server = SMTP('smtp.gmail.com',587)
    server.set_debuglevel(False)
    server.ehlo(self.__from)
    server.starttls()
    server.ehlo(self.__from)
    server.login(self.__from, self.__password)
    server.sendmail(self.__from, self.__to, msg)
    retorno = True
finally:
    #server.sock.realsock.shutdown(2)
    server.quit()
    return retorno

El mail se envía correctamente, pero da el siguiente error:

socket.sslerror: (8, 'EOF occurred in violation of protocol')

leí que hay que agregar esta línea
server.sock.realsock.shutdown(2)
antes de server.quit()
pero sigue dando error, en este caso:

in send raise SMTPServerDisconnected('Server not connected') 
smtplib.SMTPServerDisconnected: Server not connected

Opté por quitar las dos lineas:
#server.sock.realsock.shutdown(2)
#server.quit()

y se envía correctamente y sin mostrar errores.

Qué consecuencias puede tener no llamar a estas lineas, sobre todo a 
server.quit()?

Gracias

Jose

------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es


Más información sobre la lista de distribución Python-es