2009-12-19 27 views
7

我仍然試圖弄清楚爲什麼我無法在自定義電子郵件的正文中應用HTML格式。我相信我錯過了一些東西,或者我需要一雙新的眼睛!在電子郵件正文中應用HTML格式

這裏是添加到網頁

<head runat="server"> 
    <link href="~/MyStyle.css" rel="stylesheet" type="text/css" /> 
</head> 

Mystyle.css<head>的信息包含以下

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 

更新:首先感謝您的意見。電子郵件本身不以任何方式與樣式表引用。那麼除了將樣式表附加到電子郵件之外,還有哪些選項?

+1

我很困惑。電子郵件正文中的HTML如何引用您的樣式表? – 2009-12-19 21:06:04

+0

我不清楚網頁本身在哪裏進來,請澄清。理想情況下,提供一個簡短但完整的程序... – 2009-12-19 21:06:49

+0

你好!我在上面的更新中添加了有關信息。謝謝 – OrElse 2009-12-19 21:14:36

回答

13

當我這樣做,我通常嵌入在電子郵件正文中的CSS:

<html> 
<head> 
<style type="text/css"> 
span.orange 
{ 
    color: #FF6D06; 
    ... 
} 
</style> 
</head> 
... 

避免在HTML電子郵件中引用外部實體(如樣式表,圖像等)。這些引用可能不可用,具體取決於用戶的郵件代理設置。另外,瞭解郵件代理中的HTML支持。它可能不如你期望的那麼豐富。例如,Here's some information on Outlook

0

大多數郵件閱讀器(基於桌面和基於web的)不擅長處理CSS:通常最好不要使用外部CSS並使用內聯樣式,通常最好使用表格進行格式化而不是divs,...

而且,在這裏,你的CSS在哪裏?它至少在某個服務器上?
(即它不應該是唯一的本地機器上,而是通過某種URL的訪問)

5

看來你正在錯誤地做這件事。

你的CSS應該是內聯的,而不是外部的。然後,您只需將所有HTML和CSS樣式作爲電子郵件的正文,它就可以工作。

您確實想避免引用外部文件,因爲許多電子郵件應用程序會阻止引用。

0

顏色屬性將不適用於電子郵件,對於大多數郵件代理來說,它可能在第一次發送電子郵件時工作,但如果電子郵件被轉發,它將被忽略。

最好的事情是使用非常古老的HTML標記和表格來格式化和設置電子郵件的樣式,例如無表代碼。

可悲的是,對電子郵件的支持仍然非常差。