Wie man MSG-Dateien in Python erstellt
aspose-email-foss für Python ermöglicht es Ihnen, Outlook‑MSG‑Dateien programmgesteuert zu erstellen, ohne Microsoft Office.
Schritt-für-Schritt-Anleitung
Schritt 1: Paket installieren
pip install aspose-email-fossSchritt 2: Nachricht erstellen
from aspose.email_foss.msg import MapiMessage, RECIPIENT_TYPE_CC
msg = MapiMessage.create("Meeting Notes", "Please review the attached notes.")Schritt 3: Empfänger hinzufügen
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)Verwenden Sie die Ganzzahlkonstanten RECIPIENT_TYPE_TO (1), RECIPIENT_TYPE_CC (2) oder RECIPIENT_TYPE_BCC (3) aus aspose.email_foss.msg.
Schritt 4: Anhänge hinzufügen
with open("notes.pdf", "rb") as f:
msg.add_attachment("notes.pdf", f.read(), mime_type="application/pdf")Um eine weitere MSG‑Nachricht einzubetten:
inner = MapiMessage.create("Forwarded", "Original message body")
msg.add_embedded_message_attachment(inner, filename="forwarded.msg", mime_type="application/vnd.ms-outlook")Schritt 5: MSG-Datei speichern
msg.save("output.msg")Oder Bytes zum Streamen erhalten:
data = msg.to_bytes()Häufige Probleme und Lösungen
Leere Empfänger in gespeicherter Datei
Stellen Sie sicher, dass Sie add_recipient() vor save() aufrufen. Empfänger werden während der Serialisierung geschrieben.
Anhang wird in Outlook nicht angezeigt
Überprüfen Sie, ob der MIME‑Typ korrekt ist. Verwenden Sie "application/octet-stream" als Fallback für unbekannte Dateitypen.
Häufig gestellte Fragen (FAQ)
Kann ich den HTML-Body festlegen?
Ja. Verwenden Sie msg.body_html = "value", um den HTML‑Body nach der Erstellung festzulegen.
Kann ich die MSG in das EML-Format konvertieren?
Ja. Rufen Sie msg.to_email_string() auf, um die RFC 5322‑Darstellung zu erhalten.
Maximale Nachrichtengröße?
Es gibt keine feste Obergrenze. CFB v3 unterstützt Dateien bis zu 2 GB; v4 unterstützt größere Dateien.