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