Πώς να δημιουργήσετε αρχεία MSG σε Python
Το aspose-email-foss για Python σάς επιτρέπει να δημιουργείτε αρχεία Outlook MSG προγραμματιστικά χωρίς το Microsoft Office.
Οδηγός βήμα-βήμα
Βήμα 1: Εγκατάσταση του πακέτου
pip install aspose-email-fossΒήμα 2: Δημιουργία μηνύματος
from aspose.email_foss.msg import MapiMessage, RECIPIENT_TYPE_CC
msg = MapiMessage.create("Meeting Notes", "Please review the attached notes.")Βήμα 3: Προσθήκη παραληπτών
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)Χρησιμοποιήστε τις ακέραιες σταθερές RECIPIENT_TYPE_TO (1), RECIPIENT_TYPE_CC (2) ή RECIPIENT_TYPE_BCC (3) από το aspose.email_foss.msg.
Βήμα 4: Προσθήκη συνημμένων
with open("notes.pdf", "rb") as f:
msg.add_attachment("notes.pdf", f.read(), mime_type="application/pdf")Για ενσωμάτωση άλλου μηνύματος MSG:
inner = MapiMessage.create("Forwarded", "Original message body")
msg.add_embedded_message_attachment(inner, filename="forwarded.msg", mime_type="application/vnd.ms-outlook")Βήμα 5: Αποθήκευση του αρχείου MSG
msg.save("output.msg")Ή λάβετε bytes για streaming:
data = msg.to_bytes()Κοινά προβλήματα και διορθώσεις
Κενά παραλήπτες στο αποθηκευμένο αρχείο
Βεβαιωθείτε ότι καλείτε το add_recipient() πριν το save(). Οι παραλήπτες γράφονται κατά τη διάρκεια της σειριοποίησης.
Το συνημμένο δεν εμφανίζεται στο Outlook
Επαληθεύστε ότι ο τύπος MIME είναι σωστός. Χρησιμοποιήστε "application/octet-stream" ως εναλλακτική λύση για άγνωστους τύπους αρχείων.
Συχνές Ερωτήσεις (FAQ)
Μπορώ να ορίσω το σώμα HTML;
Ναι. Χρησιμοποιήστε msg.body_html = "value" για να ορίσετε το σώμα HTML μετά τη δημιουργία.
Μπορώ να μετατρέψω το MSG σε μορφή EML;
Ναι. Καλέστε msg.to_email_string() για να λάβετε την αναπαράσταση RFC 5322.
Μέγιστο μέγεθος μηνύματος;
Δεν υπάρχει σκληρό όριο. Το CFB v3 υποστηρίζει αρχεία έως 2 GB· το v4 υποστηρίζει μεγαλύτερα αρχεία.