Finalmente con la ayuda del profesor pudimos recibir los correos de forma correcta.
listaCorreos=Listbox(ventanaPrincipal,width=152, height=25,relief=RIDGE)
listaCorreos.place(x=20, y=180)
def CurSelet(evt):
try:
ind = listaCorreos.curselection()
if listaCorreos.curselection() != ():
sel = listaCorreos.get(ind)
verCorreos(persona, lineas[0],listaBody[ind[0]], mitexto)
except:
print ""
listaCorreos.bind('<<ListboxSelect>>',CurSelet)
conn = imaplib.IMAP4_SSL("imap.gmail.com", 993)
conn.login("progmoz@gmail.com", "progmoz2014")
conn.select()
listaPersonas=[]
listaAsuntos=[]
listaBody=[]
typ, data = conn.search(None, 'UNSEEN')
try:
for num in data[0].split():
typ, msg_data = conn.fetch(num, '(RFC822)')
for response_part in msg_data:
if isinstance(response_part, tuple):
msg = email.message_from_string(response_part[1])
subject=msg['subject']
persona=msg['from']
payload=msg.get_payload()
body=extract_body(payload)
listaBody.append(body)
correo=open('correo.txt','w').write(persona)
listaPersonas.append(persona)
correo=open('correo.txt','r')
lineas=correo.readlines()
persona1=lineas[0]
correo=open('correo.txt','w').write(subject)
listaAsuntos.append(subject)
correo=open('correo.txt','r')
lineas=correo.readlines()
listaCorreos.insert(1,"De: "+persona1+ " Asunto: "+ lineas[0])
listaCorreos.place(x=20, y=180)
typ, response = conn.store(num, '+FLAGS', r'(\Seen)')
finally:
try:
conn.close()
except:
pass
conn.logout()
Se necesita saber la posición de los correos recibidos en el listbox, para eso se creó el índice, y así ir printando el respectivo cuerpo de los correos.