2009-12-19 17 views
7

Todavía estoy tratando de averiguar por qué no puedo aplicar el formato HTML en el cuerpo de un correo electrónico personalizado. ¡Estoy seguro de que me estoy perdiendo algo, o necesito un nuevo par de ojos!Aplicación de formato HTML en el cuerpo del correo electrónico

Aquí está la información añadida a la <head> de la página web

<head runat="server"> 
    <link href="~/MyStyle.css" rel="stylesheet" type="text/css" /> 
</head> 

Mystyle.css contiene la siguiente

span.orange 
{ 
    color: #FF6D06; 
    font-family: tahoma; 
    font-size: 10pt; 
} 

y aquí viene la parte del cuerpo ...

Dim HtmlString as string = "<span class='orange'>This one should be painted</span>" 

que se envía utilizando Net.Mail

Dim objMail As New Mail.MailMessage (blah, blah blah) 
objMail.IsBodyHtml = True 

ACTUALIZACIÓN: En primer lugar, muchas gracias por sus comentarios. El correo electrónico en sí no se menciona de ninguna manera con la hoja de estilo de ninguna manera. Entonces, ¿qué opciones tengo además de adjuntar la hoja de estilo al correo electrónico?

+1

estoy confundido. ¿Cómo hace referencia el HTML en el cuerpo del correo electrónico a su hoja de estilo? –

+0

No tengo claro dónde entra la página web. Por favor aclare. Idealmente, proporcione un programa corto pero completo ... –

+0

¡Hola! Agregué la información relacionada en la actualización anterior. Gracias – OrElse

Respuesta

13

Cuando he hecho esto, he incorporado normalmente la CSS en el cuerpo del correo electrónico:

<html> 
<head> 
<style type="text/css"> 
span.orange 
{ 
    color: #FF6D06; 
    ... 
} 
</style> 
</head> 
... 

Evite hacer referencia a entidades externas (como hojas de estilo, imágenes, etc.) en el correo electrónico HTML. Es posible que esas referencias no estén disponibles, según la configuración del agente de correo del usuario. Además, aprenda sobre el soporte HTML en agentes de correo. Puede que no sea tan rico como esperas. Here's some information on Outlook, por ejemplo.

0

La mayoría de los lectores (tanto basados ​​en escritorio como basados ​​en web) no funcionan bien con CSS: generalmente es mejor no usar CSS externos y usar estilos en línea, a menudo es mejor usar tablas para formatear en lugar de divs, ...

Y, aquí, ¿dónde está su CSS? ¿Está al menos en un servidor en alguna parte?
(es decir, no debe ser sólo en el equipo local, pero accesible a través de algún tipo de URL)

5

Parece que esto es incorrecto.

Su CSS debe estar en línea y no en el exterior. Entonces solo tiene todos sus estilos de HTML y CSS como el cuerpo de su correo electrónico, y funcionará.

Realmente desea evitar hacer referencia a los archivos externos ya que muchas aplicaciones de correo electrónico bloquearán las referencias.

0

El atributo de color no funciona para los correos electrónicos, para la mayoría de los agentes de correo podría funcionar la primera vez que se envía el correo electrónico, pero se ignorará si se reenvía el correo electrónico.

Lo mejor es usar etiquetas y tablas HTML muy antiguas para formatear y aplicar estilo al correo electrónico, como el código pre-tableless.

Triste pero cierto, la compatibilidad con los correos electrónicos sigue siendo increíblemente mala.

Cuestiones relacionadas