Як створювати файли MSG у Python
aspose-email-foss for 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")Або отримати байти для потокової передачі:
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 ГБ; v4 підтримує більші файли.