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-fossPaso 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.