2009-11-03 72 views
9

我想創建一個html電子郵件,並且我已經閱讀了很多關於如何執行此操作的信息。有一條信息我找不到。我應該如何聲明MIME類型?我試過:爲html-email聲明MIME類型

meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 

但它不起作用。

後來編輯:
我想要的內容類型的郵件設置爲text/html,但我不知道怎麼辦。所有這些從常規電子郵件客戶端寫入時。我必須在郵件正文中聲明它?或者在郵件標題中(如果是這樣,我該怎麼辦?)?

+1

你是什麼意思「它不工作」?你有錯誤信息嗎?非ANSI字符看起來破碎了嗎?您的郵件收件人是否看到HTML源代碼而不是呈現的HTML? ... – Heinzi 2009-11-03 09:35:54

+1

它顯示爲純文本 sica07 2009-11-03 10:11:56

回答

22

您是否試圖在發送到郵件服務器的郵件頭中設置內容類型聲明?如果是這樣,你應該這樣設置,以線本身:

Content-Type: text/html; charset=UTF-8 
+0

我怎麼能這樣做,當我在一個正常的郵件客戶端,如Gmail或雅虎? – sica07 2009-11-03 10:50:32

+1

你不能。我從來沒有見過允許自定義HTML輸入的webmail客戶端(並且很少見過桌面客戶端)。 – Quentin 2009-11-03 10:53:23

+0

如果你想插入自定義標題,那麼你需要編寫自己的客戶端。這可能不值得去做,除非你有一些非常特殊的需求,比如測試SMTP服務器。 – 2013-08-26 18:23:15

2

基本上電子郵件客戶端忽略了在他們的內容類型(至少截至2013年10月17日),任何的META標籤。

您需要在電子郵件服務器的特殊標頭中設置內容類型聲明。這個問題

更多信息可以在http://www.emailonacid.com/blog/details/C13/the_importance_of_content-type_character_encoding_in_html_emails

發現如果這沒有意義的你,那麼恐怕你的運氣了。我發現的唯一可靠的解決方案是將任何特殊字符轉換爲其HTML實體等價物。上面的鏈接有一個鏈接到一個工具,爲你做到這一點。

希望有幫助!

2

元標記的結束標記僅用於xhtml/xml。如果你使用html,你應該在<head>標籤內使用它:

<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
</head>