2008-12-29 26 views
1

html電子郵件中是否有某種格式化協議?我們有一個自動化的系統,通過電子郵件發送報告,當我看到他們的來源時,我看到他們按行長度用「=」分界線分隔。也就是說,我得到這樣的東西:電子郵件中的亂碼html

<html><body>some text some text some text some= 
some text some text some text some text som<ta= 
ble>some text some text some text some text <t= 
r><td... 

有沒有人有關於這是什麼的更多信息?

+0

該自動化系統的名稱是什麼?這可能是罪魁禍首。 – thrashr888 2008-12-29 21:45:45

回答

6

您必須發送郵件爲multi-part MIME。最佳做法是:

  • 總是發送的HTML和純文本版本,這樣的郵件客戶端不支持HTML或者有的人乾脆關掉電子郵件中的HTML(有安全/垃圾郵件isssues具有雖然圖片無論如何,很多客戶端不會自動下載不可信站點的圖片);
  • 圖像可以包含在消息中,而不是直接鏈接。直接鏈接節省帶寬,但是是垃圾郵件甚至是安全問題(例如Internet Explorer had a buffer overrun bug with PNG images)。嵌入式圖像是帶有cid值的引用;和
  • 只能使用最基本的HTML。瀏覽器HTML支持從原始到奇怪都有所不同。當我考慮這樣做時,我們無法在我們調查的少量郵件客戶端上獲得一致的(或者甚至可接受的不同)外觀和感覺,導致我們將報告作爲附加的PDF發送,這在很多方面,更好(他們可以很容易地保存,一個)。

至於你的亂碼,它在我看來你的郵件沒有被正確識別爲HTML,所以郵件客戶端正在用70個左右的字符包裝文本行。

0

看起來它可以引用 - 可打印。 HTML外觀中的等號符號如何替換爲= 3E?

從技術上講,沒有什麼不對,但是對於那些不想或不想讀取HTML郵件的人(像我一樣)添加替代純文本 會很好。

2

您的消息正在以某種方式被編碼爲"quoted printable"編碼。這可能是您正在創建的郵件標題的問題。

0

電子郵件RFC強制執行行長度限制,具體而言,每行不得超過78個字符,不包括CRLF。每行末尾的平等符號只是一個行分隔符,只要必要的頭文件已到位(Content-Text:text/html),將由任何支持HTML的電子郵件閱讀器進行正確解析。有關電子郵件約定中HTML的更多詳細信息,請參閱here