Cum să creați fișiere MSG în Python
aspose-email-foss pentru Python vă permite să creaţi fişiere Outlook MSG programatic, fără Microsoft Office.
Ghid pas cu pas
Pasul 1: Instalați pachetul
pip install aspose-email-fossPasul 2: Crează un mesaj
from aspose.email_foss.msg import MapiMessage, RECIPIENT_TYPE_CC
msg = MapiMessage.create("Meeting Notes", "Please review the attached notes.")Pasul 3: Adăugați destinatarii
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)Utilizați constantele întregi RECIPIENT_TYPE_TO (1), RECIPIENT_TYPE_CC (2), sau RECIPIENT_TYPE_BCC (3) din aspose.email_foss.msg.
Pasul 4: Adăugați atașamente
with open("notes.pdf", "rb") as f:
msg.add_attachment("notes.pdf", f.read(), mime_type="application/pdf")Pentru a încorpora un alt mesaj MSG:
inner = MapiMessage.create("Forwarded", "Original message body")
msg.add_embedded_message_attachment(inner, filename="forwarded.msg", mime_type="application/vnd.ms-outlook")Pasul 5: Salvaţi fişierul MSG
msg.save("output.msg")Sau obțineți octeți pentru streaming:
data = msg.to_bytes()Probleme comune și soluții
Destinatari goi în fișierul salvat
Asigurați-vă că apelați add_recipient() înainte de save(). Destinatarii sunt scriși în timpul serializării.
Atașamentul nu apare în Outlook
Verificați dacă tipul MIME este corect. Utilizați "application/octet-stream" ca soluție de rezervă pentru tipurile de fișiere necunoscute.
Întrebări frecvente (FAQ)
Pot să setez corpul HTML?
Da. Folosiți msg.body_html = "value" pentru a seta corpul HTML după creare.
Pot converti MSG în format EML?
Da. Apelă msg.to_email_string() pentru a obține reprezentarea RFC 5322.
Dimensiunea maximă a mesajului?
Nu există o limită fixă. CFB v3 acceptă fișiere de până la 2 GB; v4 acceptă fișiere mai mari.