Aplicando a formatação HTML no corpo do e -mail
-
20-09-2019 - |
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?
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:
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.