Как да създавате 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")Или получете байтове за поточно предаване:
data = msg.to_bytes()Чести проблеми и решения
Празни получатели в запазения файл
Уверете се, че извиквате add_recipient() преди save(). Получателите се записват по време на сериализация.
Прикаченият файл не се показва в Outlook
Проверете дали MIME типът е правилен. Използвайте "application/octet-stream" като резервен вариант за неизвестни типове файлове.
Често задавани въпроси (FAQ)
Мога ли да задавам HTML тяло?
Да. Използвайте msg.body_html = "value", за да зададете HTML body след създаване.
Мога ли да конвертирам MSG във формат EML?
Да. Извикайте msg.to_email_string(), за да получите представянето на RFC 5322.
Максимален размер на съобщението?
Няма твърдо ограничение. CFB v3 поддържа файлове до 2 GB; v4 поддържа по‑големи файлове.