2015-08-21 193 views
0

我正在創建一個簡單的電子郵件客戶端,並且在回覆和轉發html電子郵件時遇到問題。如何在html電子郵件中發送電子郵件回覆或轉發?

當我有用戶撰寫回復消息,我怎麼追加的內容到消息的頂部?我已經通過將新的消息內容注入到段落或div或類似的東西中來進行一些調查。

它是如何在一般情況下,例如Gmail,雅虎做了,等他們如何找出其中注入HTML中的回覆內容?

我使用C#所以最好有一個可以處理該部分的C#庫?如果不是那麼一些想法如何完成,所以我可以爲它創建一個解決方案。

我讀過維基百科的文章Posting Style,它提供了有關如何做到這一點在HTML的總體思路,但沒有很好的概述。

+0

https://msdn.microsoft.com/en-us/library/system.net.mail%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396 –

+0

請問downvoter請評論以幫助我爲其他人提供一個有用的問題?我還沒有在SO上看到過這樣的問題。 – richard

+0

@EricJ。從零開始撰寫電子郵件併發送它們,我沒有任何問題。 System.Net.Mail實際上就是我正在使用的。但它沒有關於如何處理回覆和轉發。 – richard

回答

1

一些背景

在撰寫HTML郵件,要認識到電子郵件客戶端對HTML相當有限的支持和支持的程度是很重要的跨電子郵件客戶端的變化。

正因爲如此,儘管<div>和CSS是正確的佈局工具的網頁,這不是HTML電子郵件真。即使在今天,使用<table>來進行HTML電子郵件的佈局控制。

此外,爲了應用CSS唯一可靠的手段是與每個元件上的style=屬性的HTML元素。電子郵件客戶端經常忽略<head>部分中的CSS聲明。製作HTML電子郵件時,我實際上使用的是<head>中的CSS,一旦看起來正確,請使用this page將HTML轉換爲使用style=屬性。有other options

不僅<head>標籤經常被忽略,而且任何<body>標籤也會被忽略。

解決您的問題

我建議將包含在表中的答覆文本(與單個<tr>和單<td>),以及應用內聯CSS樣式到該表。這允許您應用格式化,例如在左側放置彩色條,將文本斜體,等等)。

+0

謝謝埃裏克。我應該只抓取body標籤中的所有內容,並考慮原始信息,將其放入一行,然後將我的新內容插入到它上面的一行中? – richard

+0

這應該工作。 –

+0

好的謝謝。這是一個巨大的幫助。 :-) – richard