在电子邮件正文中应用HTML格式

OrE*_*lse 7 html css email formatting html-email

我仍然想弄清楚,为什么我不能在自定义电子邮件的正文中应用HTML格式.我确信我错过了一些东西,或者我需要一双新的眼睛!

这是添加到<head>网页的信息

<head runat="server">
    <link href="~/MyStyle.css" rel="stylesheet" type="text/css" />
</head>
Run Code Online (Sandbox Code Playgroud)

Mystyle.css 包含以下内容

span.orange
{
    color: #FF6D06;
    font-family: tahoma;
    font-size: 10pt;
}
Run Code Online (Sandbox Code Playgroud)

这是身体的一部分......

Dim HtmlString as string = "<span class='orange'>This one should be painted</span>" 
Run Code Online (Sandbox Code Playgroud)

这是使用Net.Mail发送的

Dim objMail As New Mail.MailMessage (blah, blah blah)
objMail.IsBodyHtml = True
Run Code Online (Sandbox Code Playgroud)

更新:首先感谢您的意见.电子邮件本身不以任何方式以样式表引用.那么除了将样式表附加到电子邮件之外,我还有哪些选项?

Mic*_*tta 13

当我这样做时,我通常将CSS嵌入到电子邮件的正文中:

<html>
<head>
<style type="text/css">
span.orange
{
    color: #FF6D06;
    ...
}
</style>
</head>
...
Run Code Online (Sandbox Code Playgroud)

避免在HTML电子邮件中引用外部实体(如样式表,图像等).这些引用可能不可用,具体取决于用户的邮件代理设置.另外,了解邮件代理中的HTML支持.它可能没有你想象的那么丰富. 例如,这里有关于Outlook的一些信息.


Sim*_*est 6

如其他人所述,定义内联样式是最佳选择.以下是一些您可能会觉得有用的文章:

Rock Solid HTML电子邮件

电子邮件客户端中的CSS支持指南


Cla*_*ein 5

你似乎错误地解决了这个问题.

你的CSS应该是内联的,而不是外部的.然后,您只需将所有HTML和CSS样式作为电子邮件正文,它就可以使用.

您确实希望避免引用外部文件,因为许多电子邮件应用程序将阻止引用.