วิธีสร้างไฟล์ MSG ด้วย Python

วิธีสร้างไฟล์ 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 type ถูกต้อง ใช้ "application/octet-stream" เป็นการสำรองสำหรับประเภทไฟล์ที่ไม่รู้จัก.


คำถามที่พบบ่อย (FAQ)

ฉันสามารถตั้งค่า HTML body ได้หรือไม่?

ใช่. ใช้ msg.body_html = "value" เพื่อตั้งค่า HTML body หลังจากสร้าง.

ฉันสามารถแปลง MSG เป็นรูปแบบ EML ได้หรือไม่?

ใช่. เรียก msg.to_email_string() เพื่อรับการแสดงผล RFC 5322.

ขนาดข้อความสูงสุด?

ไม่มีขีดจำกัดที่แน่นอน. CFB v3 รองรับไฟล์ได้สูงสุด 2 GB; v4 รองรับไฟล์ที่ใหญ่กว่า.

 ภาษาไทย