我仍然想弄清楚,为什么我不能在自定义电子邮件的正文中应用HTML格式。我确信我错过了一些东西,或者我需要一双新的眼睛!
以下是添加到网页<head>
的信息
<head runat="server">
<link href="~/MyStyle.css" rel="stylesheet" type="text/css" />
</head>
Mystyle.css
包含以下内容
span.orange
{
color: #FF6D06;
font-family: tahoma;
font-size: 10pt;
}
这是身体的一部分......
Dim HtmlString as string = "<span class='orange'>This one should be painted</span>"
使用Net.Mail
发送Dim objMail As New Mail.MailMessage (blah, blah blah)
objMail.IsBodyHtml = True
更新:首先感谢您的意见。电子邮件本身不以任何方式以样式表引用。那么除了将样式表附加到电子邮件之外,我还有哪些选项?
答案 0 :(得分:13)
当我这样做时,我通常将CSS嵌入电子邮件正文中:
<html>
<head>
<style type="text/css">
span.orange
{
color: #FF6D06;
...
}
</style>
</head>
...
避免在HTML电子邮件中引用外部实体(如样式表,图像等)。这些引用可能不可用,具体取决于用户的邮件代理设置。另外,了解邮件代理中的HTML支持。它可能没有你想象的那么丰富。例如Here's some information on Outlook。
答案 1 :(得分:6)
答案 2 :(得分:5)
看起来你错了。
您的CSS应该是内联的,而不是外部的。然后,您只需将所有HTML和CSS样式作为电子邮件的正文,它就可以使用。
您确实希望避免引用外部文件,因为许多电子邮件应用程序都会阻止引用。
答案 3 :(得分:0)
大多数邮件阅读器(基于桌面和基于网络)都不能很好地处理CSS:通常最好不使用外部CSS并使用内联样式,通常情况下更好使用表格来形成而不是div,...
而且,在这里,你的CSS在哪里?它至少在某个服务器上吗?
(即它不应该只在你的本地机器上,而是通过某种URL访问)
答案 4 :(得分:0)
Color属性不适用于电子邮件,对于大多数邮件代理,它可能在第一次发送电子邮件时起作用,但如果转发电子邮件则会被忽略。
最好的方法是使用非常旧的HTML标签和表来格式化和设置电子邮件样式,例如无表格前代码。
可悲但真实的是,对电子邮件的支持仍然非常差。