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@py.cz http://www.py.cz/mailman/listinfo/python