Как да създавате MSG файлове в Python

Как да създавате 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 поддържа по‑големи файлове.

 Български