วิธีสร้างไฟล์ 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 รองรับไฟล์ที่ใหญ่กว่า.