C# 从邮件文件读取电子邮件

C# 从邮件文件读取电子邮件,c#,.net,email,C#,.net,Email,我有大量的邮件档案,我想去重复和整理。归档文件要么采用mbox格式,要么包含一条邮件消息。更复杂的是,有些文件具有windows EOL序列,有些文件具有unix EOL序列。 使用C#。如何读取存档并将其拆分为单独的邮件,或读取单个邮件文件?在python中,我会使用mailbox.mbox类,但在C#文档中看不到匹配的功能。您不太可能找到一个库来读取C#的文件-也使用C#的Unix用户不多 我要做的是: 阅读Python代码,然后将其移植到C# 联机查找mbox格式的说明。因为它是一个Uni

我有大量的邮件档案,我想去重复和整理。归档文件要么采用mbox格式,要么包含一条邮件消息。更复杂的是,有些文件具有windows EOL序列,有些文件具有unix EOL序列。

使用C#。如何读取存档并将其拆分为单独的邮件,或读取单个邮件文件?在python中,我会使用mailbox.mbox类,但在C#文档中看不到匹配的功能。

您不太可能找到一个库来读取C#的文件-也使用C#的Unix用户不多

我要做的是:

  • 阅读Python代码,然后将其移植到C#
  • 联机查找mbox格式的说明。因为它是一个Unix系统,所以很可能格式只是一个纯文本文件,应该很容易解析

  • 大多数标准Unix邮件文件都以“From”开头的行分隔条目

    因此,如果您以文本文件的形式读入邮件文件,并在每次看到行开头的字符串“From”时切换到新的邮件条目,则应该可以正常工作
    -任何其他地方的字符串都应该已经由电子邮件程序分隔,如果它是一次性活动,我认为对邮件进行排序的最简单步骤是:

  • 将所有mbox文件合并为一个
  • 将编译作为本地文件夹加载到thunderbird中
  • 在文件夹上运行一个重复的message finder加载项
  • 删除找到的重复项
  • 压缩文件夹
  • 获取dup自由消息列表:)

  • 我用过这样的方法:删除重复的消息(备用)

    我有一种感觉,这种情况即将发生。我不确定mbox格式是否仅适用于unix(我认为thunderbird在windows上使用它),它也没有那么复杂——只是转储RFC2822消息,所有消息前面都有“From[date]”行。