Asp.net
電子郵件上的 CSS
有沒有人找到一種在以程式方式生成的電子郵件中嵌入 CSS 的好方法。我發現最好的方法是將樣式程式碼放入資源文件中並將其呼叫到程式碼中。
一個例子是
Dim objBuilder objBuilder = New StringBuilder objBuilder.Append(Resources.SystemEmail.CSSStyle) objBuilder.Append("My Styled Email") Dim _Body As String = objBuilder.ToString()這將建構電子郵件的正文
有什麼方法可以為電子郵件製作模板文件,或者有更好的方法將樣式表呼叫到一個模板文件中。
我的 .resx 文件中的程式碼是
<STYLE TYPE="text/css"> <!-- body { font-family: Tahoma, Verdana, Arial; font-size: 10pt; padding: 3px 0px 0px 0px; margin: 0px 0px 0px 0px; } --> </STYLE>並將其呼叫到字元串中將呼叫此內聯
並通過以下答案發送消息,我將使用它
Dim client As New SmtpClient("localhost") Dim toAddr As New MailAddress(MailRecipients) Dim fromAddr As New MailAddress(MailFrom) Dim message As New MailMessage(fromAddress, toAddress) message.Subject = "The Subject" message.Body = _Body message.IsBodyHtml = True message.BodyEncoding = System.Text.Encoding.UTF8 client.Send(message)
我們成功的唯一方法是包含 CSS 內聯。文件標題樣式 CSS 包含不一致或不可靠。
另外,請確保您的電子郵件標題設置為: Content-type: text/html; 字元集=ISO-8859-1
編輯 UTF-8 也是一個不錯的選擇。該語句的關鍵點是將 Content-type 設置為 text/html
以下是每個電子郵件客戶端支持的 CSS 樣式的綜合指南:http: //www.campaignmonitor.com/css/
關於您需要了解的指南:http: //www.campaignmonitor.com/design-guidelines/
還有大量免費的預建模板可供您參考: http: //www.campaignmonitor.com/templates/
最後,同一家公司提供了一個測試工具,以合理的費用向您展示您的消息將如何在每個電子郵件客戶端中顯示:http: //www.campaignmonitor.com/testing/