Com crear fitxers MSG amb Python

Com crear fitxers MSG amb Python

aspose-email-foss for Python et permet crear fitxers Outlook MSG de manera programàtica sense Microsoft Office.

Guia pas a pas

Pas 1: Instal·la el paquet

pip install aspose-email-foss

Pas 2: Crea un missatge

from aspose.email_foss.msg import MapiMessage, RECIPIENT_TYPE_CC

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

Pas 3: Afegir destinataris

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)

Utilitzeu les constants enters RECIPIENT_TYPE_TO (1), RECIPIENT_TYPE_CC (2) o RECIPIENT_TYPE_BCC (3) de aspose.email_foss.msg.


Pas 4: Afegir fitxers adjunts

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

Per incrustar un altre missatge MSG:

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

Pas 5: Desa el fitxer MSG

msg.save("output.msg")

O obté bytes per a la transmissió:

data = msg.to_bytes()

Problemes comuns i solucions

Destinataris buits al fitxer desat

Assegureu-vos de cridar add_recipient() abans de save(). Els destinataris s’escriuen durant la serialització.

Adjunt no es mostra a Outlook

Verifiqueu que el tipus MIME sigui correcte. Utilitzeu "application/octet-stream" com a alternativa per a tipus de fitxer desconeguts.


Preguntes freqüents (FAQ)

Puc establir el cos HTML?

Sí. Utilitzeu msg.body_html = "value" per establir el cos HTML després de la creació.

Puc convertir el MSG al format EML?

Sí. Crida msg.to_email_string() per obtenir la representació RFC 5322.

Mida màxima del missatge?

No hi ha cap límit estricte. CFB v3 admet fitxers fins a 2 GB; v4 admet fitxers més grans.

 Català