2015-04-02 117 views
1

我有一個要求爲通過專用代理服務器的電子郵件添加簽名。似乎沒有要做到這一點非常好辦法,和我最初的想法是:以編程方式將簽名添加到電子郵件

  1. 如果郵件是非MIME,或者是text/plain,只需添加文本到身體的底部, 與前面的「 - 」線(用於添加簽名 到text/plain消息的舊約定;參見RFC3676, 4.3
  2. 如果郵件是multipart/mixed,找到最後邊界,並插入 一個新的`多部分/替代」實體以上它包含plain和 sig版本的HTML版本。儘管如此,這有一個缺點,即sig可能會在附件下面出現 。
  3. 如果郵件不multipart/mixed,使multipart-mixed,並 降級現有實體到混合部分;現在將 multipart/alternative簽名添加爲新的 multipart/mixed的最後一部分。 (2)一樣的缺點。

看起來很囉嗦。任何想法,更好的方式來做到這一點?謝謝。

+0

我會爲您的參考添加一些超鏈接,以方便人們快速查看您參考的內容,例如「RFC3676,4.3」。只是一個建議。 :) – CalebB 2015-04-02 14:32:23

+0

完成 - 幾十個MIME的引用 - 雖然 - 太複雜了! – EML 2015-04-02 15:20:57

回答

0

我編碼如上,在Yahoo,gmail,AOL,GMX和Thunderbird上都沒問題,MIME驗證爲herehere。 問題是我再次忘記了微軟完全無法讀取RFC。如果multipart/mixed部分包含兩個multipart/alternative部分,其中每個部分包含text/plaintext/html替代方案,則Outlook/hotmail實際上在第二個multipart/alternative中顯示兩個替代方案。因此,它顯示了純文本簽名和HTML版本。

修復很簡單 - 我不是爲簽名添加第二個multipart/alternative,而是添加一個text/html部分,其中只包含HTML簽名。這在所有上面的MUA上都能正確顯示,包括腦死亡者。並不完全理想,但我可以僅爲Microsoft收件人啓用修補程序,並讓他們排除這些問題,如果他們說服他們的MUA僅顯示純文本。

相關問題