[python] email headers

"Ing. Vladislav Ludík" vlada na ludik.cz
Úterý Červenec 26 17:40:34 CEST 2011


Zdravím všechny znalé pythonu.

Může mi někdo poradit s dekódováním hlaviček emailů ?

Jde o toto:

Ve složce /var/mail/ na linuxu přicházející emaily potřebuju elegantně 
zdekódovat.
Co se týká vlastních zpráv, nemám problém:

def ebox(inbox):
    'Zpracuje email inbox'
   
    fp = open(inbox, 'rb')
    mbox = mailbox.UnixMailbox(fp, email.message_from_file)

    for msg in mbox:
        for part in msg.walk():
            if part.get_content_maintype() == 'text':
                data = part.get_payload(decode=True)
                # zpracuju data

Problém mám jen s hlavičkama. Když použiju například
headers = Parser().parse(fp)
tak ten ve výsledku dává při více zprávách za sebou vždy první nalezený 
objekt, ale další už ne:

    print 'To: %s' % headers['to']
    print 'From: %s' % headers['from']
    print 'Subject: %s' % headers['subject']

Můj dotaz tedy je: jak skloubit jednoduše obě funkce?
Složitě to umím.

Děkuji za váš čas.

Zdraví V.L.





Další informace o konferenci Python