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





Маловероятно, что вы найдете библиотеку для чтения этого файла для C# - не так много пользователей Unix, которые также используют C#.
Я бы сделал следующее:
Большинство стандартных почтовых файлов Unix разделяют записи строкой, начинающейся с "От".
Поэтому, если вы читаете почтовый файл как текстовый файл и переключаетесь на новую запись почты каждый раз, когда видите строку «От» в начале строки, это должно работать. - Любые строки в другом месте уже должны были быть разделены почтовой программой.
Если это разовая активность, то проще всего отсортировать сообщения:
Duplicate Elimiators (надстройки для Thunderbird)
Я использовал это: Удалить повторяющиеся сообщения (альтернативный)
У меня было предчувствие, что это должно произойти. Я не уверен, что формат mbox - это только unix (я думаю, что thunderbird использует его в Windows), и это не так уж сложно - просто дампы сообщений RFC2822, которым предшествуют строки «From [date]».