Cómo crear archivos MSG en Python

Cómo crear archivos MSG en Python

Aspe-email-foss para Python le permite crear archivos de Outlook MSG programáticamente sin Microsoft Office.

Guía paso a paso

Paso 1: Instalar el paquete

pip install aspose-email-foss

Paso 2: Crear un mensaje

from aspose.email_foss.msg import MapiMessage, RECIPIENT_TYPE_CC

msg = MapiMessage.create("Meeting Notes", "Please review the attached notes.")

Paso 3: Adicionar recipientes

msg.add_recipient("alice@example.com", display_name="Alice Smith")
msg.add_recipient("bob@example.com", display_name="Bob Jones", recipient_type=RECIPIENT_TYPE_CC)

Utilice las constantes enteras RECIPIENT_TYPE_TO 1 ), RECIPIENT_TYPE_CC (2) o RECIPIENT_TYPE_BCC (3) de la aspose.email_foss.msg.


Paso 4: Adicionar accesorios

with open("notes.pdf", "rb") as f:
    msg.add_attachment("notes.pdf", f.read(), mime_type="application/pdf")

Para incorporar otro mensaje MSG:

inner = MapiMessage.create("Forwarded", "Original message body")
msg.add_embedded_message_attachment(inner, filename="forwarded.msg", mime_type="application/vnd.ms-outlook")

Paso 5: Salva el archivo MSG

msg.save("output.msg")

O obtener bajas para streaming:

data = msg.to_bytes()

Problemas y soluciones comunes

Los recientes vacíos en archivos guardados

Asegúrese de llamar add_recipient() Antes de save().Los receptores se escriben durante la serificación.

No se muestran en Outlook

Verificar el tipo MIME es correcto. "application/octet-stream" como un fallback para los tipos de archivos desconocidos.


Preguntas frecuentes (FAQ)

¿Puedo establecer el cuerpo HTML?

Sí, usamos msg.body_html = "value" para configurar el cuerpo HTML después de la creación.

¿Puedo convertir el MSG en formato EML?

Sí, llamado msg.to_email_string() Para obtener la representación RFC 5322 .

¿Más de mensaje?

CFB v3 soporta archivos de hasta 2 GB; v4 soportan archivo más grande.

 Español