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