Si necesitáis enviar correos con python por ssl de una forma sencilla, recomiendo el uso de pyzmail (http://www.magiksys.net/pyzmail/). Para instalar pyzmail, lo podéis hacer directamente con pip:
pip install pyzmail
Si no tenemos instalado pip, para instalarlo:
wget http://python-distribute.org/distribute_setup.py
python distribute_setup.py
easy_install pip
pip install pyzmail
Si no tenemos instalado pip, para instalarlo:
wget http://python-distribute.org/distribute_setup.py
python distribute_setup.py
easy_install pip
Os dejo un sencillo código de ejemplo:
# -*- coding: iso-8859-15 -*- import pyzmail #Componemos el correo sender=('Yo','cuenta@remitente.es') recipients=['cuenta@destinatario.es',] subject='Prueba envio SSL' text_content='Este correo ha sido enviado bajo SSL' prefered_encoding='iso-8859-1' text_encoding='iso-8859-1' #Vamos a adjuntar dos ficheros fichero=open('fichero.txt.tar.gz', 'rb').read() fichero2=open('fichero.txt','rb').read() payload, mail_from, rcpt_to, msg_id=pyzmail.compose_mail( sender, recipients, subject, prefered_encoding, (text_content, text_encoding), html=None, attachments=[(fichero, 'application', 'octet-stream', 'fichero.tar.gz', 'us-ascii'),(fichero2, 'application', 'octet-stream', 'fichero.txt', 'us-ascii')]) #Datos de configuracion para el envio smtp_host='host' smtp_port=puerto para comunicacion ssl smtp_mode='ssl' smtp_login='cuenta@remitente.es' smtp_passwd='password' #Enviamos el correo ret=pyzmail.send_mail(payload, mail_from, rcpt_to, smtp_host, smtp_port=smtp_port, smtp_mode=smtp_mode, smtp_login=smtp_login, smtp_password=smtp_passwd) if isinstance(ret, dict): if ret: print 'fallo en los destinatario:', ', '.join(ret.keys()) else: print 'correcto' else: print 'error:', ret
Comentarios
Publicar un comentario