Escribir y leer mensajes en Thunderbird en Python

Thunderbird es un cliente de correo electrónico de código abierto que le permite recibir mensajes de más de un servidor de correo electrónico. Por lo tanto, puede administrar correos electrónicos de varias cuentas en un solo lugar. En ciertos casos, es posible que deba acceder a los mensajes de correo electrónico de Thunderbird mediante programación. Además, es posible que tengas que escribir nuevos mensajes en Thunderbird. En este artículo, aprenderá cómo escribir y leer mensajes en el almacenamiento de Thunderbird en Python.

Biblioteca de Python para escribir y leer mensajes en Thunderbird Storage

Para escribir y leer mensajes de correo electrónico en el almacenamiento de Thunderbird, usaremos Aspose.Email for Python via .NET. Es una biblioteca poderosa que le permite crear y enviar correos electrónicos y trabajar con clientes de correo electrónico populares como Thunderbird, Outlook, etc. Puede instalar la biblioteca desde PyPI usando el siguiente comando.

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

Escriba un mensaje en Thunderbird Storage en Python

Puede crear nuevos mensajes y almacenarlos en el almacenamiento de Thunderbird en unos pocos pasos usando Aspose.Email for Python. Los siguientes son los pasos para realizar esta operación.

  • Cree una instancia de MboxrdStorageWriter e inicialícela con el nombre del archivo.
  • Cree un nuevo MailMessage y establezca sus propiedades.
  • Escriba un mensaje en el almacenamiento mediante el método MboxrdStorageWriter.write\message(MailMessage).
  • Deshágase del escritor.

El siguiente ejemplo de código muestra cómo escribir un mensaje en el almacenamiento de Thunderbird en Python.

from aspose.email import MboxrdStorageWriter, MailMessage

# Create a writer and initialize with file name
writer =MboxrdStorageWriter("ExampleMBox_out.mbox", False)

# Prepare a new message using the MailMessage class
message = MailMessage("from@domain.com", "to@domain.com", "Eml generated for Mbox", "added from Aspose.Email for Python")
message.is_draft = False

# Add this message to storage
writer.write_message(message)

# Dispose writer
writer.dispose()

Leer mensajes de Thunderbird Storage en Python

Para leer los mensajes del almacenamiento de Thunderbird, necesitamos cargar el archivo de almacenamiento usando la clase MboxrdStorageReader. Los siguientes son los pasos para leer mensajes de Thunderbird en Python.

  • Cree una instancia de MboxrdStorageReader para leer el archivo de almacenamiento.
  • Lea el primer mensaje usando el método MboxrdStorageReader.read\next\message().
  • Inicie un ciclo para iterar a través de todos los mensajes.
  • Lea cada mensaje y guárdelo en el disco si es necesario.
  • Deseche el lector al final.

El siguiente ejemplo de código muestra cómo leer mensajes del almacenamiento de Thunderbird en Python.

from aspose.email import SaveOptions, MboxrdStorageReader

# Read the storage file
reader = MboxrdStorageReader("ExampleMbox.mbox", False)

# Read first message
eml = reader.read_next_message()

# Read all messages in a loop
while (eml is not None):
    # Manipulate message - show contents
    print("Subject: " + eml.subject)
    
    # Save this message in EML or MSG format
    eml.save(eml.subject + "_out.eml", SaveOptions.default_eml)
    eml.save(eml.subject + "_out.msg", SaveOptions.default_msg_unicode)

    # Get the next message
    eml = reader.read_next_message()

# Close the streams
reader.dispose()

Obtenga una licencia de API gratuita

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

Conclusión

Thunderbird es una increíble aplicación de cliente de correo electrónico para configurar múltiples cuentas de correo electrónico en una sola ubicación. En este artículo, ha aprendido a escribir mensajes en el almacenamiento de Thunderbird en Python. Además, ha visto cómo leer mensajes del almacenamiento de Thunderbird mediante programación. Además, puede visitar la documentación para explorar otras características de Aspose.Email for Python. En caso de que tenga alguna pregunta, puede publicarla en nuestro foro.

Ver también