Hur man skapar MSG-filer i Python

Hur man skapar MSG-filer i Python

aspose-email-foss for Python låter dig skapa Outlook MSG-filer programatiskt utan Microsoft Office.

Steg-för-steg-guide

Steg 1: Installera paketet

pip install aspose-email-foss

Steg 2: Skapa ett meddelande

from aspose.email_foss.msg import MapiMessage, RECIPIENT_TYPE_CC

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

Steg 3: Lägg till mottagare

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)

Använd heltalskonstanterna RECIPIENT_TYPE_TO (1), RECIPIENT_TYPE_CC (2) eller RECIPIENT_TYPE_BCC (3) från aspose.email_foss.msg.


Steg 4: Lägg till bilagor

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

För att bädda in ett annat MSG‑meddelande:

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

Steg 5: Spara MSG-filen

msg.save("output.msg")

Eller hämta byte för strömning:

data = msg.to_bytes()

Vanliga problem och lösningar

Tomma mottagare i sparad fil

Se till att du anropar add_recipient() innan save(). Mottagare skrivs under serialisering.

Bilaga visas inte i Outlook

Verifiera att MIME-typen är korrekt. Använd "application/octet-stream" som en reserv för okända filtyper.


Vanliga frågor (FAQ)

Kan jag ange HTML-body?

Ja. Använd msg.body_html = "value" för att sätta HTML‑kroppen efter skapandet.

Kan jag konvertera MSG till EML-format?

Ja. Anropa msg.to_email_string() för att få RFC 5322‑representationen.

Maximal meddelandestorlek?

Det finns ingen fast gräns. CFB v3 stöder filer upp till 2 GB; v4 stöder större filer.

 Svenska