Qual é o melhor método para formatação e-mail quando usando System.Net.Mail
-
19-08-2019 - |
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.
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.