En este artículo, aprenderá cómo recuperar mensajes de correo electrónico de los servidores de correo mediante programación. En particular, aprenderá cómo conectarse al servidor de correo usando los protocolos IMAP o POP3 y leer los correos electrónicos en Python.

API de Python para leer correos electrónicos

Para leer los correos electrónicos de los servidores de correo, utilizaremos Aspose.Email for Python via .NET. Es una API de correo electrónico rica en funciones que le permite implementar clientes de correo electrónico desde sus aplicaciones de Python. Puede descargar el archivo .whl o instalar la API con el siguiente comando pip.

> pip install Aspose.Email-for-Python-via-NET

Leer correos electrónicos de servidores de correo en Python

POP3 e IMAP se usan comúnmente para recuperar correos electrónicos de los servidores de correo. Las siguientes secciones muestran cómo leer correos electrónicos utilizando ambos protocolos de correo electrónico por separado.

Leer mensajes de correo electrónico usando POP3

Los siguientes son los pasos para leer mensajes de correo electrónico usando POP3.

  • Cree un objeto de la clase Pop3Client e inicialícelo con host, puerto, nombre de usuario y contraseña.
  • Configure las opciones de seguridad mediante la propiedad Pop3Client.security\options.
  • Obtenga el recuento de mensajes utilizando el método Pop3Client.get_message\count().
  • Acceda a cada mensaje en un bucle usando el método Pop3Client.fetch\message().

El siguiente ejemplo de código muestra cómo leer un correo electrónico en Python usando POP3.

# create POP3 client
client = Pop3Client("pop.gmail.com", 995, "username", "password")

# set security options
client.security_options = SecurityOptions.AUTO

# get message count
messageCount = client.get_message_count()
print("Total messages: " + str(messageCount))

# create an instance of the MailMessage class to read message    
for i in range(0,messageCount):
    message = client.fetch_message(i+1)
    print("From:" + str(message.from_address))
    print("Subject:" + message.subject)
    print(message.html_body)

Leer mensajes de correo electrónico usando IMAP

Los siguientes son los pasos para leer mensajes de correo electrónico usando IMAP.

  • Cree un objeto de la clase ImapClient e inicialícelo con host, puerto, nombre de usuario y contraseña.
  • Seleccione la carpeta usando el método ImapClient.select\folder(folderName).
  • Recorra la lista de mensajes usando el método ImapClient.list\messages().

El siguiente ejemplo de código muestra cómo leer mensajes de correo electrónico mediante IMAP en Python.

# connect to mail server using IMAP
client = ImapClient("imap.gmail.com", 993, "username", "password")

# select folder
client.select_folder("Inbox")

# loop through email messages and save them as .eml files
for msg in client.list_messages():
    print("Subject: " + msg.subject)
    print("HtmlBody: " + msg.html_body)
    print("TextBody: " + msg.body)
    client.save_message(msg.unique_id, msg.unique_id + "_out.eml")

Obtenga una licencia de API gratuita

Puede usar Aspose.Email for Python a través de .NET solicitando una licencia temporal gratuita.

Conclusión

En este artículo, ha aprendido a leer correos electrónicos de servidores de correo usando Python. En particular, ha visto cómo usar clientes POP3 e IMAP para obtener y leer mensajes de correo electrónico. Puede explorar más sobre la API de correo electrónico de Python utilizando la documentación. Además, puede publicar sus consultas en nuestro foro.

Ver también