[Python-es] Envio de correos html con estilos e imagenes

Luis Garcia Merino lgmerino en yahoo.com
Mie Sep 21 18:31:28 CEST 2011



De: Carlos Herrera Polo <carlos.herrerapolo en gmail.com>
Para: La lista de python en castellano <python-es en python.org>
Enviado: miércoles 21 de septiembre de 2011 18:12
Asunto: [Python-es] Envio de correos html con estilos e imagenes


Estimados:


Me han encargado realizar un script que envie correos electrónicos con saludos de cumpleaños, ya que tenemos una base de datos de fecha de cumpleaños y la idea es que el script lea de una base de datos MYSQL y envie un saludo a los que cumplan años, la conexion con la BD es sencilla, de eso no tengo problema...

Mi inconveniente es que pienso hacerlo en python, y he estado probando ejemplos de http://docs.python.org/library/email-examples.html

El asunto esta en que el HTML que tengo como plantilla tiene imagenes y texto, eso si entiendo como manejarlo, es simple, unicamente con  <img src="cid:image1"> y luego "adjuntar" la imagen con :

msgImage.add_header('Content-ID', '<image1>')
msgRoot.attach(msgImage)

funciona sin problemas

Mi gran duda es como "adjuntar" estilos , ya que el HTML que tengo como plantilla tiene "styles/styles.css", y no se como poner el estilo en el correo, ya que la imagen de fondo viene con el estilo.

Alguien tiene ejemplos de este tipo de correos ? O en su defecto.. saben de algun modulo / programa que me pueda ayudar ?


gracias de antemano !
_______________________________________________
Python-es mailing list
Python-es en python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

---------------------------------------------------------------------------------------------------------------------------------------------



Hola,
si estás enviando un HTML puedes incluir los estilos en el <head> del mismo:

<head>
<styletype="text/css"> body{ font-family: arial; font-size: 0.9em; color: #000000; }
    etc...
</style>
</head>
Las imágenes, tanto en los estilos como en el cuerpo del mensaje, los puedes enlazar a tu servidor:

CSS: .imgFondo{ background-image: url(http://www.miweb.com/imagen.jpg) }
HTML: <imgsrc="http://www.miweb.com/logo.jpg">

Además, si lo haces así con todas las imágenes, tus correos serán bastante más ligeros...

Un saludo,

            Luis
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20110921/01d91817/attachment.html>


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