从邮件正文中读取html格式

时间:2011-11-16 07:00:03

标签: c#

我正在使用带有ASCII编码类型的streamReader读取邮件正文,但收到的文本是纯文本格式。它还包含一些特殊字符,如= 92,= 93,= 94,= 20等,它们与html编码不相似。此外,超链接也会转换为www.google.com http://www.google.com/

等文字

我调试了stream.getline函数并查找包含content-Type的这些行,第一行和第二行是在subject之前和之后,第三行是在mail体之前。三个都不包含text / html。 请建议做什么。

1. Content-Type: multipart/related; boundary=0015174479b83c0db404b1bf7ace
2. Content-Type: multipart/alternative; boundary=0015174479b83c0db104b1bf7acd
3. Content-Type: text/plain; charset=ISO-8859-1

另请查找我正在阅读的邮件:

Spammy title: Spammy Body 转到{spammy hyperlink}

get中的streamReader中的数据是: Spammy title: ** Spammy Body转到spammydomain *

我不知道为什么在每个粗体字/句子的开头和结尾附加*,并且链接不被视为链接。 同时在调查其他邮件时我发现一些字符也被替换了,这是我找到的列表。

"=85" replaces "..."   on every occurance
"=93"replaces "\""     on every occurance
"=94"replaces "\""     on every occurance
"=92" replaces "'"      on every occurance
"****\r\n" replaces "\n"   randomly
"=\r\n" replaces ""         randomly
"=20\r" replaces ""        randomly

我尝试过Html编码/解码但没有成功。

您能否建议删除所有特殊字符并保留其html格式的任何编码类型或方法。

1 个答案:

答案 0 :(得分:0)

也许你应该开始挖掘一些RFC。我建议:

RFC 822,“ARPA互联网文本消息格式标准”http://tools.ietf.org/html/rfc822

RFC 2047,“MIME(多用途Internet邮件扩展)第三部分非ASCII文本的消息头扩展”http://tools.ietf.org/html/rfc2047,尤其是4.2。关于“The”Q“编码”的部分,我认为应该详细说明“特殊字符”,如= 92,= 93等...