[python] email headers
"Ing. Vladislav Ludík"
vlada na ludik.cz
Úterý Červenec 26 21:56:11 CEST 2011
Michal Molhanec napsal(a):
> Dne 26.7.2011 17:40, "Ing. Vladislav Ludík" napsal(a):
>
>> 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.
>>
>
> Něco jako
>
> def ebox(inbox):
> 'Zpracuje email inbox'
> fp = open(inbox, 'rb')
> mbox = mailbox.UnixMailbox(fp, email.message_from_file)
>
> for msg in mbox:
> print 'To: %s' % msg['to']
> print 'From: %s' % msg['from']
> print 'Subject: %s' % msg['subject']
>
> for part in msg.walk():
> if part.get_content_maintype() == 'text':
> data = part.get_payload(decode=True)
> # zpracuju data
>
> by nefungovalo?
> _______________________________________________
> Python mailing list
> Python na py.cz
> http://www.py.cz/mailman/listinfo/python
>
> __________ Informace od NOD32 6322 (20110725) __________
>
> Tato zprava byla proverena antivirovym systemem NOD32.
> http://www.nod32.cz
>
>
>
>
Toto funguje skvěle.
Díky V.L.
Další informace o konferenci Python