LINUX.ORG.RU

как распарсить почту из /var/mail/root при помощи python

 ,


0

2

Надо распарсит фал /var/mail/root и вычленить из него Subject и тело для каждого из сообщений.

этот вариант не прокатывает:

eml = '/var/mail/root'
msg = email.message_from_file(eml)

for part in msg.walk():
    if part.is_multipart():
         for message in part.get_payload():
            print message.get_payload()
    else:
        print part.get_payload()
, потомучто парсит только заголовок первого сообщения, а все остальное считает телом этого сообщения. Есть ли готовый метод разбить этот файл на сообщения, а потом можно было бы к ним применить .get_payload(), email.parser ну и т.д??? или как распарсить этот файл другим способом?

Ответ на: комментарий от risenshnobel

Спасибо )

теперь все стало на свои места:

import mailbox

mbox = mailbox.mbox('/var/mail/root')
for message in mbox:
    for part in message.walk():
        print part['Subject']
        print part['Date']
        print part.get_payload()
Acceptor ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.