2015-08-21 176 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