解析电子邮件文本回复/转发

The*_*des 13 c# asp.net pop3 .net-2.0

我正在使用c#asp.net创建一个基于Web的电子邮件客户端.

令人困惑的是,各种电子邮件客户端似乎在通过电子邮件回复时以很多不同的方式添加原始文本.

我想知道的是,如果有某种标准化的方法,那么消除这个过程的歧义?

谢谢--Theo

El *_*rko 2

虽然没有标准化的方法,但合理的启发式方法可以让您保持良好的距离。

一些算法根据行的初始字符对行进行分类,并通过将文本与标记文本的语料库进行比较,生成每行的统计概率:a) 与下一个/上一个块属于同一块,b) ) 引用的文本、签名、新文本等。

尝试一些最流行的电子邮件客户端并创建和比较一些示例消息以了解其中的差异是值得的。Usenet 新闻组还可以帮助您构建合理的消息语料库以供使用。当然,HTML 电子邮件会增加额外的复杂性,尽管大多数兼容的邮件客户端也会包含相应的纯文本。不同的语言也会引起问题,因为可以解析“Paul write:”的客户端可能会在“Pablo ha scritto:”处失败。