Pergunta

Ainda estou tentando descobrir, por que não posso aplicar a formatação HTML no corpo de um email personalizado. Tenho certeza de que estou perdendo alguma coisa, ou preciso de um novo par de olhos!

Aqui está a informação adicionada ao <head> da página da web

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

Mystyle.css contém o seguinte

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

E aqui vem a parte do corpo ...

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

que é enviado usando net.mail

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

ATUALIZAR: Em primeiro lugar, obrigado por seus comentários. O email em si não é de forma alguma referenciado com a folha de estilo de forma alguma. Então, quais opções eu tenho além de anexar a folha de estilo ao email?

Foi útil?

Solução

Quando fiz isso, normalmente incorporei o CSS no corpo do e -mail:

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

Evite fazer referência a entidades externas (como folhas de estilo, imagens, etc.) no email HTML. Essas referências podem não estar disponíveis, dependendo das configurações do agente de correio do usuário. Além disso, aprenda sobre o suporte HTML em agentes de email. Pode não ser tão rico quanto você espera. Aqui estão algumas informações sobre o Outlook, por exemplo.

Outras dicas

Como observado por outros, definir seus estilos embutidos é a melhor opção. Aqui estão alguns artigos que você pode achar útil:

E -mails html sólidos de rocha

Guia para suporte CSS em clientes de email

Parece que você está fazendo isso incorretamente.

Seu CSS deve estar embutido e não externo. Então você apenas tem todos os seus estilos HTML e CSS como corpo do seu e -mail, e funcionará.

Você realmente deseja evitar referenciar arquivos externos, pois muitos aplicativos de email bloquearão as referências.

MAIS READORES DE CORREIO (Baseado em desktop e baseado na Web) Não lide muito bem com o CSS: geralmente é melhor não usar e CSS externo e usar estilos embutidos, geralmente é melhor usar tabelas para se formar em vez de divs, ...

E, aqui, onde está seu CSS? É pelo menos em um servidor em algum lugar?
(ou seja, não deve estar apenas na sua máquina local, mas acessível por algum tipo de URL)

O atributo de cores não funcionará para e-mails; para a maioria dos agentes de email, pode funcionar na primeira vez que o e-mail for enviado, mas será ignorado se o e-mail for encaminhado.

A melhor coisa é usar tags e tabelas HTML muito antigas para formatar e estilizar o e-mail, como o código pré-tabela.

Triste, mas é verdade, o apoio a e-mails ainda é incrivelmente ruim.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top