Jairo Blanco

Blog de Jairo Blanco

Comentando tecnologías web.
Página principal » Codificación HTML y CSS en Emails

Codificación HTML y CSS en Emails (2,146 lecturas)

4 Junio, 2007 por jairo

Codificación HTML y CSS en Email: 10 recomendaciones.

Este artículo va dirigido a todos aquellos que se dedican al diseño, codificación y entrega de emails en formato HTML y quieren que sus Newsletter se vean bien en la mayoría de los clientes de correo.

El envío de emails de Newsletters es una buena forma de comunicación entre los editores y los lectores, pero si además lo hacemos en formato HTML, nos permitirá enriquecer el documento con elementos visuales que hacen el email más atractivo, accesos directos a otras localizaciones y nos permitirá a nosotros mismos hacer mediciones sobre aperturas del email, rastrear y contabilizar los enlaces que visita, medir los intereses del lector, etc. Así, se le presenta al lector un email como si fuera una página web más fácil de navegar y escanear que un email en texto plano.

emailcoding.jpg

Al enviar un email en texto plano no podemos utilizar todas estás funcionalidades, pero por el contrario obtenemos otras ventajas como menor nivel de spam al no incluir etiquetas HTML y por eso mismo facilita a los clientes de correo visualizar perfectamente el contenido del email en todos los clientes.

Codificar HTML para emails puede darte muchos dolores de cabeza, debido a que los clientes de correo tanto los de escritorio como los basados en web no cumplen ningún standard web, no interpretan bien el código HTML y hojas de estilos o lo interpretan a su manera incluso añadiendo o eliminando código al email recibido, por lo que el diseño del email que el destinatario recibe puede ser bastante diferente al diseño del editor que envió ese email.

Este artículo te ayudara a asegurar que tus Newsletter enviadas en emails en HTML cumplan con los requisitos de los clientes de correo y se visualicen de la misma forma en todos los clientes actuales de correo a base de "crear un documento mal formado y no válido" que no corresponde a ningún standard actual del W3C.

10 Recomendaciones a la hora de codificar:

  1. HTML por encima de CSS.

    Intenta usar las etiquetas de HTML y sus propiedades en la mayor parte de lo posible en lugar de hojas de estilos, ya que los clientes web tiene restringidas muchas de las propiedades y selectores CSS.

  2. Uso de tablas para la maquetación.
    • Si, volvemos a las tablas. Los estándares web dicen que no se deben utilizar las tablas para maquetar una página web, pero esto no es una página web sino un email y es aconsejable utilizarlas en lugar de <div> si queremos que nuestras Newsletter se visualicen bien en la mayoría de los lectores de correo. Y es que los clientes de correo no soportan muchas de las propiedades necesarias para diseñar con divisiones <div>.
    • Usa los atributos de la tabla y celda para visualizar la tabla en lugar de utilizar propiedades CSS . Por ejemplo, asigna border="0", valign="top", align="left" (o center), cellpadding="0", cellspacing="0",etc.  Con esto conseguirás que se vea bien la tabla en clientes de correo antiguos.
    • Usa una tabla como contenedor de todas las tablas y elementos internos (por ejemplo para el header, content y footer)
    • Intenta no anidar muchas tablas y evitar el uso de la propiedad "colspan" ya que esta propiedad no es muy bien entendida por algunos clientes de escritorio.

  3. Tamaño y resolución.
    Seguramente estés acostumbrado a codificar páginas web en 800×600 o en 1024×768 aproximadamente, pero para el diseño de emails en HTML puede que no funcione muy bien ya que la mayoría de los clientes muestra el email en una especie de "panel de previsualización" que es normalmente una parte del espacio total disponible.
    Lo más recomendable es configurar el ancho en unos 500-600px o dando un tamaño en porcentajes que es como yo suelo hacerlo para que se adapte al espacio que tenga disponible.

  4. Uso de Hojas de Estilos en Cascada (CSS).

    El uso de las hojas de estilo en los documentos HTML para Email está limitado y según que cliente permitirá más o menos propiedades. Lo ideal es que los estilos deben aplicarse a la propia etiqueta (estilos en línea) en lugar de declarar las clases dentro de <style></style> en la etiqueta Head como se haría en una página web..

    Por ejemplo, es recomendable utilizar <p style="color: red;"> en lugar de <p class="colorRojo">.

    Los estilos en línea funcionan en todos los clientes.

    El uso recomendado de los estilos en línea se debe a que muchos clientes de correo sobre todo los basados en web, ignoran  la definición <style></style> y otros sólo permiten esta definición justo antes del cierre de la etiqueta body (</body>).

    Esta declaración, por ejemplo:

    <head><style>.colorRojo{color:red}</style></head>

    Funciona en Live Mail, New Yahoo, Old Yahoo!, Outlook 03, Outlook 07, AOL, Thunderbird, Mac Mail, Antourage
    No funciona en Gmail, Hotmail, Notes y Eudora.

    Y esta otra declaración:

    <body>.colorRojo{color:red}</body>

    Funciona en Hotmail, Old Yahoo, New Yahoo, Outlook 03/07, AOL, Thunderbird, Mac Mail, Entourage.
    No funciona en Gmail, Hotmail, Live Mail, Notes, Eudora

    Tampoco deberíamos usar la etiqueta LINK del Head:
    Si todos los clientes soportaran esta etiqueta, sería la forma ideal para crear un sistema de tracking perfecto.

    <link rel="stylesheet" type="text/css" media="all" href="http://jairoblanco.com/style.css" />
    Funciona en New Yahoo, Outlook 03/07, AOL ,Notes, Thunderbird, Mac Mail, Entourage
    No funciona en Gmail, Hotmail, Live Mail, Old Yahoo, Eudora

  5. Selectores y propiedades CSS.

    Acabo de decir que lo mejor es utilizar los estilos en línea que las clases, ya que son válidos para todos los clientes, pero otra cosa diferente es las propiedades y selectores CSS que se pueden incluir en el estilo en línea.
    Intenta utilizar el CSS en la medida de lo posible para dar formato y color a la fuente y nunca para posicionar elementos.

    La empresa Campaign Monitor a sacado hace poco una guía resumida de las propiedades y selectores permitidos por los principales clientes de correo.

    Lo puedes ver aquí


  6. Uso de imágenes

    Si tenemos que incluir imágenes en el código lo haremos indicando la ruta de forma absoluta. Es decir, en lugar de <img src="foto1.jpg"> utilizar <img src="http://www.miservidor.com/mailing/images/foto1.jpg"> ya que incrementaríamos demasiado el tamaño del email al enviar las imágnes adjuntas.

  7. Uso de la etiqueta <p>

    No todos los clientes interpretan la etiqueta <p> correctamente no aplicando el salto de línea que por defecto la etiqueta tiene. Para ello, yo por ejemplo, simulo el párrafo de esta forma:

    <span style="">
    Esto es un párrafo para mi.
    </span><br><br>

    Las dos etiquetas <br> finales simulan el salto de línea que debería tener.

  8. Flash, Javascript, Vídeos, ActiveX, etc

    No uses estas tecnologías en tus mailings pues la mayoría de los programas y antivirus bloquean este tipo de contenido en los emails. Además no todo el mundo tiene habilitado o hace uso de estas tecnologías.


  9. Varios.

    • Intenta no poner ningún atributo dentro de la etiqueta <body> ya que será eliminado por muchos clientes web, algunos incluso como Yahoo la renombran a <xbody> para que no tenga validez y sea confundida con la propia del documento del cliente web.
    • Define el color de fondo en  la propiedad "bgcolor=" del  <td> y no en la hoja de estilo. ( hack para Gmail y visualizadores antiguos).
    • Usa el atributo background para las imágenes en lugar de usar CSS.
    • En la medida de lo posible , usa el atributo padding y cellpadding para controlar los márgenes dentro de la celda <td>
    • Si necesitas poner un color suave a un link contra un color fuerte de fondo, pon la definición de "font" en el <td> y añade a la etiqueta <a style="color:">( hack para Gmail y visualizadores antiguos).
    • Si los <p> y las fuentes aparecen en diferentes tamaños, envolver las etiquetas <a> dentro de los <p>. (Gmail)
    • Centrar un layout en Notes no funcionara. Los contenedores de los emails deberían siempre estar alineados a la izquierda.

  10. Evitar spam desde código.


    • No utilizar fuentes rojas brillantes , o muchos colores desordenados, estilos, y formatos.
    • No utilizar mucho los puntos de admiración!!!!!!!! ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
    • No utilizar mucho las letras mayúsculas
    • No utilizar las "spamming words" como "viagra, penny, sex, porn, free, gratis,Click here, pincha aquí, limit time, loan, act now, etc"
    • No usar !, $, o 100%
    • Dar al usuario la posibilidad de desuscribirse de la Newsletter desde el email.
    • Tener especial cuidado con las etiquetas HTML, no dejando etiquetas abiertas, no introducir contenido después de </html>, no dejar <title></title> vacío.
    • No envíes texto simulado para hacer pruebas, como por ejemplo añadir el típico texto "lorem ipsum”. Es mejor enviar el contenido real.
    • Elimina los comentarios HTML del email.
    • Si tienes algún programa para comprimir el contenido HTML sin modificar su código ayudará a una lectura más rápida para los clientes.
    • No uses la palabra “test”o "prueba" en el asunto del mensaje.
    • No envíes el email a ti mismo y siempre incluye un texto alternativo en el email.
    • Mira más información sobre Spam en Test filtros antispam
1 Estrella2 Estrellas3 Estrellas4 Estrellas5 Estrellas (1 votos, media: 2 de 5)
Loading ... Loading ...
Imprimir
del.icio.us:Codificación HTML y CSS en Emails digg:Codificación HTML y CSS en Emails furl:Codificación HTML y CSS en Emails Y!:Codificación HTML y CSS en Emails magnolia:Codificación HTML y CSS en Emails

10 Respuestas para “Codificación HTML y CSS en Emails”

  1. dRiBo Dice:

    Muy util, me lo añado a del.icio.us

  2. Percy Dice:

    muy buen tutorial haber si me ayudan =¿Que codigos usaria en hotmail para usar mi propia fuente?

  3. Marianmm Dice:

    Muy bien explicados los puntos claves, recientemente me encomendaron la tarea de hacer los envios masivos de mi empresa, y aprendi todo esto haciendo mis propias prubas, pero esta muy bien tenerlo todo recogidito.

    Hay un manual sobre el tema muy interesante en: http://www.campaignmonitor.com/blog/archives/2006/03/a_guide_to_css_support_in_emai.html

  4. Nadia Dice:

    Gracias Jairo por las recomendaciones.
    La mejor y más completa síntesis que encontré en español por internet.
    Soy asidua a campaign monitor y llegar a tu artículo complementó la info.
    Tengo tiempo de lidiar con newsletters (más preciso sería “tiempo de lidiar con servidores de correo”). En mi caso, supuso aprender la optimización de una publicación mensual que se con las imágenes adjuntas. De manera que puedan visualizarse igual aún cuando el destinatario la lea luego de desconectarse a la red.
    Es la edición digital de una publicación con 48 páginas A3, por lo que me ha llevado “sangre, sudor y lágrimas” llegar a lo conseguido hasta ahora. Pero sigo en el camino, ya que siempre se puede mejorar.
    Creo que lo que más me costó fue resignarme a que es imposible prescindir de las tablas en este tipo de diseño. Bueno, por lo menos hasta el momento.

    Saludos, y muchas gracias por tu artículo!

  5. Fernando Dice:

    Muy buena esta nota, ¿pero que hacemos ahora con las nuevas normativas de Microsoft ? respecto al Outlook…

    ¿Que problema, no?

  6. Metropolis Dice:

    […] Design - Consejos para hacer mejores CSS - CSS en E-mails? - From solo freelancer to design firm - No hay usuario malo, sólo diseñadores […]

  7. links for 2008-02-22 « CosaDeRisa.ES Dice:

    […] HTML y CSS en Emails (tags: html css email) […]

  8. daniel Dice:

    hola que tal soy nuevo en esto de crear mail con html, y queria saber que software se utiliza para crear un e mail de este tipo.
    saludos y gracias.

  9. David Dice:

    Gracias Jairo por las recomendaciones.
    He tenido gran cantidad de problemas con “anchor” cuando envío newletters HTML.
    ¿Tienes alguna recomendación para su uso?

  10. Valeria Dice:

    GENIAL! super claro, sobre todo para los pobres diseñadores que sufrimos con el código, muchas gracias!!!

Dejar un comentario

XHTML: Puedes usar estas etiquetas: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>