2008-12-04 80 views
3

嗨我使用System.Net.Mail發送一些HTML格式的電子郵件。什麼是使用System.Net.Mail格式化電子郵件的最佳方法

將css插入電子郵件的正確方法是什麼?

我知道我可以應用格式到每一個項目,但I'ld而使用樣式表..

編輯 我應該提到,這是一個內部應用程序,和我預期的99%用戶使用Outlook或其他客戶端,但從來沒有Hotmail或Gmail等

回答

5

我一直髮現,嚴格使用HTML 3.0兼容標籤和格式最適合所有電子郵件閱讀器和提供商。

然而這裏是一個CSS in Email article可以回答你的問題,你會找到解決你的CSS問題。

2

This reference是我發現的最好的一個,當涉及到CSS中的電子郵件時,什麼工作。老實說,CSS支持是如此的如此脆弱,以至於你最好像前一張海報所說的那樣堅持使用基本的HTML(並且是的,這意味着使用過時的字體標籤等)。特別是當你提到Outlook,並且(至少最新版本)是最糟糕的罪魁禍首,當涉及到糟糕的CSS支持。

+0

很好的資源傢伙,謝謝 – inspite 2008-12-04 12:12:00

2

你可以保持風格在一個正常的CSS文件,用File.ReadAllText加載它們,並把它們插入到相應的地方一個HTML信函模板

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); 

信模板應包含{樣式}

<head> 
    <title></title> 
    <style type="text/css"> 
     {STYLE} 
    </style> 
</head> 
<body> 
+0

這個方法不能用於gmail,因爲gmail根本不接受