Cara Membuat Fail MSG dalam Python

Cara Membuat Fail MSG dalam Python

aspose-email-foss untuk Python membolehkan anda mencipta fail Outlook MSG secara programatik tanpa Microsoft Office.

Panduan Langkah demi Langkah

Langkah 1: Pasang Pakej

pip install aspose-email-foss

Langkah 2: Buat Mesej

from aspose.email_foss.msg import MapiMessage, RECIPIENT_TYPE_CC

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

Langkah 3: Tambah Penerima

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)

Gunakan pemalar integer RECIPIENT_TYPE_TO (1), RECIPIENT_TYPE_CC (2), atau RECIPIENT_TYPE_BCC (3) daripada aspose.email_foss.msg.


Langkah 4: Tambah Lampiran

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

Untuk menyematkan mesej MSG lain:

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

Langkah 5: Simpan Fail MSG

msg.save("output.msg")

Atau dapatkan bait untuk penstriman:

data = msg.to_bytes()

Isu Umum dan Penyelesaian

Penerima kosong dalam fail yang disimpan

Pastikan anda memanggil add_recipient() sebelum save(). Penerima ditulis semasa penserialan.

Lampiran tidak dipaparkan dalam Outlook

Sahkan jenis MIME adalah betul. Gunakan "application/octet-stream" sebagai sandaran untuk jenis fail yang tidak diketahui.


Soalan Lazim (FAQ)

Bolehkah saya menetapkan badan HTML?

Ya. Gunakan msg.body_html = "value" untuk menetapkan badan HTML selepas penciptaan.

Bolehkah saya menukar MSG kepada format EML?

Ya. Panggil msg.to_email_string() untuk mendapatkan representasi RFC 5322.

Saiz mesej maksimum?

Tiada had keras. CFB v3 menyokong fail sehingga 2 GB; v4 menyokong fail yang lebih besar.

 Bahasa Melayu