Чтение электронной почты из почтового файла - PullRequest
0 голосов
/ 26 ноября 2008

У меня огромное количество почтовых архивов, которые я хочу дедуплицировать и отсортировать. Архивы либо в формате mbox, либо содержат одно почтовое сообщение. Чтобы добавить некоторые сложности, некоторые файлы имеют последовательности окон EOL, а некоторые имеют Unix EOL.
Используя C #. как мне прочитать архив и разбить его на отдельные сообщения или прочитать один файл сообщений? В python я бы использовал класс mailbox.mbox , но я не вижу соответствующих функций в документации по C #.

Ответы [ 3 ]

1 голос
/ 27 ноября 2008

Маловероятно, что вы найдете библиотеку для чтения этого файла для C # - не так много пользователей Unix, которые также используют C #.

То, что я бы сделал, было бы:

  1. Прочитайте код Python, а затем перенесите его на C #
  2. Найти описание формата mbox онлайн. Поскольку это система Unix, есть вероятность, что формат представляет собой простой текстовый файл, который должен быть достаточно легким для анализа.
0 голосов
/ 05 декабря 2009

Если это разовое занятие, я думаю, что самые простые шаги для сортировки сообщений:

  1. объединить все файлы mbox в один
  2. загрузить компиляцию в Thunderbird как локальную папку
  3. запустить одну из надстроек Duplicate Message Finder в папке
  4. удалить найденные дубликаты
  5. компактная папка
  6. взять список сообщений без дубликатов:)

Дубликаты Elimiators (дополнения для Thunderbird)

Я использовал это: Удалить дубликаты сообщений (альтернативные)

0 голосов
/ 29 ноября 2008

Большинство стандартных почтовых файлов Unix разделяют записи строкой, начинающейся с «From»

Так что, если вы читаете почтовый файл как текстовый файл и переключаетесь на новую почтовую запись каждый раз, когда видите строку «От» в начале строки, она должна работать - Любые строки в другом месте уже должны быть разделены программой электронной почты

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...