Pergunta

Oi eu estou usando System.Net.Mail para enviar alguns e-mails HTML formatado.

O que é o método correto para inserir css na mensagem de e-mail?

Eu sei que posso aplicar formatação a cada item, mas I'ld sim usar folhas de estilo ..

Editar Eu deveria ter mencionado que se trata de um aplicativo interno, e eu espero que 99% dos usuários de estar usando o Outlook ou outro cliente, mas nunca hotmail ou gmail etc.

Foi útil?

Solução

Eu sempre achei que estritamente usando HTML 3.0 etiquetas compatíveis e formatação funciona melhor para todos os leitores de e-mail e provedores.

no entanto, aqui é um CSS no e-mail artigo que pode responder a sua pergunta, você vai encontrar soluções para os seus problemas css.

Outras dicas

Os clientes de email não usam CSS de maneira uniforme por isso é difícil de usar CSS. Este artigo pode ajudá - http://www.alistapart.com/articles/cssemail/

Você poderia manter estilos em um arquivo CSS normal, carregá-los com File.ReadAllText e inseri-los a uma carta HTML template

string letter = File.ReadAllText(Request.PhysicalApplicationPath + "letter.html");
string style = File.ReadAllText(Request.PhysicalApplicationPath + "style.css");

MailMessage message = new MailMessage();
message.Body = letter.Replace("{STYLE}", style);

O modelo de carta deve conter {STYLE} no lugar apropriado

<head>
    <title></title>
    <style type="text/css">
        {STYLE}
    </style>
</head>
<body>

Esta referência é o melhor que eu encontrei para ver o que funciona no que quando se trata de CSS em e-mails.

Para ser honesto embora, suporte CSS é tão, tão deliciosos que você é melhor fora de fazer como o cartaz anterior diz e aderindo a HTML básico (e sim, isso significa usar ultrapassada fonte etiquetas etc). Especialmente como você menciona Outlook e que (pelo menos a versão mais recente) é o pior culpado quando se trata de suporte CSS terrível.

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