====== Python: Mail ======
===== Enviar =====
import smtplib
con = smtplib.SMTP("smtp.gmail.com", 587)
# Conectamos con el servidor de correo
con.ehlo()
# Habilitamos el cifrado TLS (si lo necesita el servidor de correo)
con.starttls()
# Nos identificamos
con.login('usuario@gmail.com', 'contraseña')
# Enviamos el correo
con.sendmail('usuariodesde@gmail.com', 'usuariopara@gmail.com','Subject: Asunto\n\nTexto del correo')
# La sentencia anterior devuelve un diccionario. Si está vacío, el e-mail se ha enviado correctamente. En otro caso, estará populado con los errores.
con.quit()
===== Recibir =====
Por facilidad, instalaremos los módulos ''imapclient'' y ''pyzmail'' mediante ''pip''
import imapclient
con = imapclient.IMPAClient('imap.gmail.com', ssl=True )
con.login('usuario@gmail.com', 'contraseña')
con.select_folder('INBOX', readonly=True)
UIDs = con.search(['SINCE 20-Aug-2020'])
# Devuelve los identificadores de e-mails encontrados como una lista de números
# Obtenemos el e-mail 1235
rowMessage = con.fetch([1235], ['BODY[]', 'FLAGS'])
# Vamos a usar el módulo 'pyzmail' para facilitar la lectura del e-mail descargado:
import pyzmail
mensaje = pyzmail.PyzMessage.factory(rowMessage[1235][b'BODY[]'])
# Obtener el asunto
mensaje.get_subject()
# Obtener el remitente:
mensaje.get_address("from")