我正在使用標頭中的HTML和CSS使用模板創建電子郵件。 我測試的電子郵件客戶端都以我想要的方式顯示郵件。 即使Gmail以正確的方式顯示郵件。 我得到的問題是Gmail收件箱中顯示的代碼段(預標題)。這段代碼顯示了郵件頭部的部分CSS。 有沒有人知道如何避免這種情況,而不是所有的郵件轉換爲內聯CSS的郵件? 下圖顯示了問題和部分郵件。 Gmail中的代碼段顯示代碼
回答
首先,將內容類型設置爲text/html
而不是text/plain
。
更多的事情需要注意:
- 你不能只是複製粘貼HTML網頁,電子郵件和希望工程。 Check here爲電子郵件支持的CSS。
- 沒有使用
<title>
屬性,因爲它不是web界面(如MS Outlook)。 - 使用內聯-css。有些客戶端不包含非內聯-css。
有時甚至像GMail這樣偉大的郵件客戶端將扔你的CSS(不談論圖像和JS代碼)。請記住,無論你做什麼,仍然有客戶將所有電子郵件作爲text/plain
。
內容類型已被設置爲html(如圖所示)。 1.如問題中所述:html正常工作 2.這不是問題 3.如問題中所述:我不想使用inline-css,因爲它用於多個模板並使用單獨的CSS更易於更改等。 Gmail在顯示郵件內容的部分很好地處理了CSS。 唯一的問題是收件箱視圖中的代碼段。 –
@MichelvanVuren您是否像在http://php.net/manual/en/function.mail.php的'$ additional_headers'中那樣設置了內容類型,或者只是在模板的元標記內輸入內容?在電子郵件程序中,瀏覽器中的'html是否正常工作(兩個不同方面)。 – Justinas
問題已解決,請參閱原帖的評論。我現在使用System.Net.Mail命名空間中的AlternateView,並排除了純tekst格式的CSS,幷包括tekst/html格式的CSS。只是改變郵件的標題也很好(對於Gmail),但現在我已經有了一個更好的解決方案,可以用於普通的tekst。 –
- 1. QR代碼不在Gmail中顯示
- 2. iphone gmail代碼示例
- 3. 如何顯示一段代碼或一段代碼,然後顯示代碼示例?
- 4. 在子代碼中顯示父代名稱..代替代碼中的子代碼
- 5. 在Sharepoint wiki中顯示代碼片段
- 6. 谷歌搜索顯示CSS代碼的代碼片段
- 7. PHP代碼在HTML代碼後顯示
- 8. PHP代碼顯示在源代碼
- 9. JavaScript中的驗證碼顯示代碼查看源代碼
- 10. 顯示HTML代碼
- 11. 顯示自代碼
- 12. Javascript顯示代碼
- 13. 顯示HTML代碼
- 14. 顯示JavaScript代碼
- 15. 在WordPress中顯示代碼
- 16. 在flexdashboard中顯示代碼
- 17. 以下代碼顯示分段錯誤
- 18. 用Eclipse高亮顯示一段代碼
- 19. 顯示舊代碼的mod_wsgi
- 20. 蟒蛇顯示的代碼
- 21. Gmail顯示帶有html代碼的電子郵件
- 22. 事件中顯示的Google跟蹤代碼管理器代碼
- 23. 如何顯示HTML代碼中的XML代碼
- 24. 在下面的代碼中添加代碼以顯示圖像
- 25. Croogo和CakePHP - 顯示在HTML源代碼中的PHP代碼
- 26. 在瀏覽器中的php代碼顯示代碼
- 27. AngularJS示例代碼顯示的代碼不是數據
- 28. 如何在SQL Server中保存代碼示例/代碼片段?
- 29. 顯示以下JS代碼的密碼
- 30. SQL代碼:爲一個代碼添加值,但在其他代碼中顯示
您需要將內容類型設置爲HTML而不是純文本。 –
正如您在圖片中看到的那樣:內容類型已經設置爲html –
問題是,您應該在郵件消息的HEADERS中聲明HTML類型,而不是在HTML的
中。如何解決這個問題取決於你編寫郵件的方式以及你發送郵件的方式。 – holden