[Python] Email, poplib e gli allegati.
Marcello
marcello a linuxvil.it
Gio 6 Ago 2009 16:11:56 CEST
Risolto,
import poplib, mimetypes, email, os
ServerPop = poplib.POP3('pop.tiscali.it')
ServerPop.user("xxx a tiscali.it")
ServerPop.pass_("xxx")
Cartella = '.' # directory where to save attachments (default: current)
NumeroMessaggi = len(ServerPop.list()[1])
for Messaggio in range(NumeroMessaggi):
MessaggioCompleto =
email.message_from_string('\r\n'.join(ServerPop.retr(Messaggio+1)[1]))
print "-"*30
#print MessaggioCompleto
print "-"*30
if MessaggioCompleto.get_content_maintype() != 'multipart':
continue
print "["+MessaggioCompleto["From"]+"] :" + MessaggioCompleto["Subject"]
print "Inviato da: " + MessaggioCompleto["From"]
print "Oggetto: " +MessaggioCompleto["Subject"]
#
for part in MessaggioCompleto.walk():
# multipart are just containers, so we skip them
if part.get_content_maintype() == 'multipart':
continue
if part.get('Content-Disposition') is None:
continue
filename = part.get_filename()
counter = 1
if not filename:
filename = 'part-%03d%s' % (counter, 'bin')
counter += 1
att_path = os.path.join(Cartella, filename)
if not os.path.isfile(att_path) :
# finally write the stuff
fp = open(att_path, 'wb')
fp.write(part.get_payload(decode=True))
fp.close()
if (raw_input("Cancello? (S/N) ") == "S"):
#ServerPop.dele(Messaggio)
print "Prossimo messaggio"
ServerPop.quit()
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: http://lists.python.it/pipermail/python/attachments/20090806/3f40499a/attachment.htm
Maggiori informazioni sulla lista
Python