Jak tworzyć pliki MSG w Pythonie

Jak tworzyć pliki MSG w Pythonie

aspose-email-foss dla Pythona umożliwia programowe tworzenie plików Outlook MSG bez Microsoft Office.

Przewodnik krok po kroku

Krok 1: Zainstaluj pakiet

pip install aspose-email-foss

Krok 2: Utwórz wiadomość

from aspose.email_foss.msg import MapiMessage, RECIPIENT_TYPE_CC

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

Krok 3: Dodaj odbiorców

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)

Użyj stałych całkowitych RECIPIENT_TYPE_TO (1), RECIPIENT_TYPE_CC (2) lub RECIPIENT_TYPE_BCC (3) z aspose.email_foss.msg.


Krok 4: Dodaj załączniki

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

Aby osadzić inną wiadomość MSG:

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

Krok 5: Zapisz plik MSG

msg.save("output.msg")

Lub pobierz bajty do strumieniowania:

data = msg.to_bytes()

Typowe problemy i rozwiązania

Brak odbiorców w zapisanym pliku

Upewnij się, że wywołujesz add_recipient() przed save(). Odbiorcy są zapisywani podczas serializacji.

Załącznik nie wyświetla się w Outlooku

Sprawdź, czy typ MIME jest prawidłowy. Użyj "application/octet-stream" jako awaryjnego rozwiązania dla nieznanych typów plików.


Najczęściej zadawane pytania (FAQ)

Czy mogę ustawić ciało HTML?

Tak. Użyj msg.body_html = "value", aby ustawić ciało HTML po utworzeniu.

Czy mogę przekonwertować MSG na format EML?

Tak. Wywołaj msg.to_email_string(), aby uzyskać reprezentację RFC 5322.

Maksymalny rozmiar wiadomości?

Nie ma sztywnego limitu. CFB v3 obsługuje pliki do 2 GB; v4 obsługuje większe pliki.

 Polski