2013-09-12 2 views
4

Я пишу парсер электронной почты в Python и ищу способ извлечь все предыдущие электронные письма (пересылаемые, ответившие) из тела электронной почты. Сценарий должен поддерживать как можно больше почтовых клиентов (gmail, Outlook, iphone и т. Д.). Например, если тело:Разделение текста электронной почты на разговор

example email text 

On Jul 31, 2013, at 5:15 PM, John Doe <[email protected]> wrote: 

> example email text 
> 
> 
> *From:* Me [mailto:[email protected]] 
> *Sent:* Thursday, May 31, 2012 3:54 PM 
> *To:* John Doe 
> *Subject:* RE: subject 
> 
> example email text 

Результат должен быть массивом с 3 записей, каждая запись содержит текст сообщения электронной почты и, как многие метаданные, как это возможно (дата, отправитель, тема и т.д.).

Существуют ли стандартные/современные способы достижения этого? Есть ли поддерживаемый список ответов от разных клиентов? Я искал похожие вопросы, но до сих пор не удовлетворительный ответ.

+1

Попробуйте регулярное выражение, чтобы выявить закономерности в почтах. Если вы используете гибкое использование AWK. – Vivek

+0

Спасибо, но настоящая проблема заключается в создании этого кода regex/AWK. Я ищу существующий код или алгоритм. – Tzach

ответ

0

Я нашел это, что может быть полезно.

https://github.com/zapier/email-reply-parser

+0

Спасибо. Я уже проверил эту библиотеку раньше. Он имеет очень ограниченную и простую функциональность, не охватывая большинство случаев реального мира. – Tzach

Смежные вопросы