c# 收取邮件 解析_c# – 解析来自引用回复的电子邮件内容

我做了很多的搜索这一点,这里是我发现。基本上有两种情况下,你是这样做的:当你有整个线程,而你不。我会把它分成两类:

当你有线程:

如果你有整个系列的电子邮件,你可以实现一个非常高水平的保证,你正在删除实际上是引用的文本。有两种方法来做到这一点。一个,您可以使用消息的Message-ID,In-Reply-To ID和Thread-Index来确定单个消息,它的父级以及它所属的线程。有关这方面的更多信息,请参阅RFC822,RFC2822,this interesting article on threading或this article on threading.一旦你重新组装线程,然后可以删除外部文本(例如To,From,CC等…行)重做。

如果您使用的邮件没有标题,您还可以使用相似性匹配来确定电子邮件的哪些部分是回复文本。在这种情况下,你会坚持进行相似性匹配来确定重复的文本。在这种情况下,您可能需要查看一个Levenshtein Distance algorithm,如this one on Code Project或this one。

当你没有线程:

如果你只停留在线程中的一个消息,你在做,必须试着猜测报价是什么。在这种情况下,我看到了不同的报价方法:

>一条线(如在outlook中看到的)。

>角括号

>“—原始信息—”

>“在这样的日子,so-and-so写道:”

从那里删除文本,你就完成了。任何这些的缺点是,他们都假设发件人将他们的答复在引用的文本的顶部,并没有交织它(像在互联网上的旧风格)。如果发生,祝你好运。我希望这有助于你们有些人!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值