2015-11-27 126 views
-2

我正在使用標頭中的HTML和CSS使用模板創建電子郵件。 我測試的電子郵件客戶端都以我想要的方式顯示郵件。 即使Gmail以正確的方式顯示郵件。 我得到的問題是Gmail收件箱中顯示的代碼段(預標題)。這段代碼顯示了郵件頭部的部分CSS。 有沒有人知道如何避免這種情況,而不是所有的郵件轉換爲內聯CSS的郵件? 下圖顯示了問題和部分郵件。 enter image description hereGmail中的代碼段顯示代碼

+0

您需要將內容類型設置爲HTML而不是純文本。 –

+0

正如您在圖片中看到的那樣:內容類型已經設置爲html –

+0

問題是,您應該在郵件消息的HEADERS中聲明HTML類型,而不是在HTML的中。如何解決這個問題取決於你編寫郵件的方式以及你發送郵件的方式。 – holden

回答

0

首先,將內容類型設置爲text/html而不是text/plain

更多的事情需要注意:

  1. 你不能只是複製粘貼HTML網頁,電子郵件和希望工程。 Check here爲電子郵件支持的CSS。
  2. 沒有使用<title>屬性,因爲它不是web界面(如MS Outlook)。
  3. 使用內聯-css。有些客戶端不包含非內聯-css。

有時甚至像GMail這樣偉大的郵件客戶端將扔你的CSS(不談論圖像和JS代碼)。請記住,無論你做什麼,仍然有客戶將所有電子郵件作爲text/plain

+0

內容類型已被設置爲html(如圖所示)。 1.如問題中所述:html正常工作 2.這不是問題 3.如問題中所述:我不想使用inline-css,因爲它用於多個模板並使用單獨的CSS更易於更改等。 Gmail在顯示郵件內容的部分很好地處理了CSS。 唯一的問題是收件箱視圖中的代碼段。 –

+0

@MichelvanVuren您是否像在http://php.net/manual/en/function.mail.php的'$ additional_headers'中那樣設置了內容類型,或者只是在模板的元標記內輸入內容?在電子郵件程序中,瀏覽器中的'html是否正常工作(兩個不同方面)。 – Justinas

+0

問題已解決,請參閱原帖的評論。我現在使用System.Net.Mail命名空間中的AlternateView,並排除了純tekst格式的CSS,幷包括tekst/html格式的CSS。只是改變郵件的標題也很好(對於Gmail),但現在我已經有了一個更好的解決方案,可以用於普通的tekst。 –