Charakteristika a funkčnost
Charakteristika a funkčnost
Tato stránka pokrývá všechny hlavní prvky Aspose-email-foss 26.3 s funkčními příklady Pythonu.
Čtení souborů MSG
Nahrát soubor MSG a přístup k jeho základním vlastnostem:
from aspose.email_foss.msg import MapiMessage
msg = MapiMessage.from_file("message.msg")
print(f"Subject: {msg.subject}")
print(f"Body: {msg.body}")
print(f"HTML Body: {msg.body_html}")
print(f"Message Class: {msg.message_class}")Vytvoření souborů MSG
Vytvořte novou zprávu od začátku:
from aspose.email_foss.msg import MapiMessage
msg = MapiMessage.create("Meeting Notes", "Please find the notes attached.")
msg.save("new_message.msg")Nastavit předmět a tělo existující zprávy:
msg.subject = "Updated Subject"
msg.body = "Updated body text"
msg.save("updated.msg")Příjemci
Přidání příjemců s názvy a typy zobrazení:
from aspose.email_foss.msg import MapiMessage, RECIPIENT_TYPE_CC
msg = MapiMessage.create("Hello", "Message body")
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)
msg.save("with_recipients.msg")Přílohy
Přidání přidaných souborů:
with open("report.pdf", "rb") as f:
data = f.read()
msg.add_attachment("report.pdf", data, mime_type="application/pdf")
msg.save("with_attachment.msg")Vkládat zprávu MSG jako vestavěný příloh:
inner = MapiMessage.create("Inner Subject", "Inner body")
msg.add_embedded_message_attachment(inner, filename="embedded.msg", mime_type="application/vnd.ms-outlook")
msg.save("with_embedded.msg")Vlastnosti MAPI
Čtení a psaní vlastností MAPI podle ID vlastnosti:
from aspose.email_foss.msg import PropertyId
# Read a property
subject = msg.get_property(PropertyId.SUBJECT)
# Set a property
msg.set_property(PropertyId.SUBJECT, "New Subject")Iterovat všechny vlastnosti:
for prop in msg.iter_properties():
print(f"Tag: {prop.property_tag:#010x}")Konverze e-mailů
Konverze mezi formáty MSG (MAPI) a e-mail (RFC 5322):
# MSG to email string
email_str = msg.to_email_string()
print(email_str[:500])
# MSG to EmailMessage object
email_msg = msg.to_email_message()
# EmailMessage back to MapiMessage
msg2 = MapiMessage.from_email_message(email_msg)
msg2.save("roundtrip.msg")Operace CFB nízké úrovně
Přímé čtení konstrukce kontejneru CFB:
from aspose.email_foss.cfb import CFBReader
reader = CFBReader.from_file("message.msg")
print(f"File size: {reader.file_size} bytes")
print(f"Sectors: {reader.fat_sector_count}")
print(f"Entries: {reader.directory_entry_count}")
for entry in reader.iter_storages():
print(f"Storage: {entry}")
for entry in reader.iter_streams():
print(f"Stream: {entry}")
reader.close()Napíšejte dokumenty CFB:
from aspose.email_foss.msg import MsgWriter
data = msg.to_bytes()
with open("output.msg", "wb") as f:
f.write(data)Tipy a nejlepší postupy
- Vždycky voláš.
msg.close()nebo použít kontextový manažer při dokončení čtení k uvolnění souborů. - Použití:
msg.validation_issuesověřit, zda je formát MSG v souladu s požadavky na ochranu údajů; - Úřad pro bezpečnost a ochranu zdraví
strictparametry vMapiMessage.from_file()ovládá toleranci chyb nastavenou na:Falsepro lehké analýzy - Všechny údaje o připojených souborech jsou načteny do paměti během
from_file()použitíatt.datapřímý přístup k bajtům;iter_attachments_info()je komfortní iterátor již vyplněného seznamu příloh - Použití:
to_email_string()pro rychlé textové přehledy bez plné konstrukce objektů e-mailu
Obvyklé problémy
| Výše: | Příčina: | Opravy |
|---|---|---|
CFBError při nakládání | Není platný soubor CFB/MSG. | Ověřit , zda je soubor skutečný Outlook MSG . |
| Prázdný vozík po naložení. | Tělo uložené pouze v HTML | Ček. msg.body_html místo: msg.body |
| Chybí příjemci | MSG nemá žádné příjemce skladů. | Příjemci jsou volitelní ve formátu MSG; ověřit. msg.recipients |
FAQ
Jaké verze formátu MSG jsou podporovány?
Knihovna čte a píše soubory MSG ve formátu CFB v3 a v4, kompatibilní s Microsoft Outlook.
Můžu číst soubory EML?
Ne přímo, knihovna zvládá formát MSG. MapiMessage.from_email_message() Konverzovat z RFC 5322 EmailMessage předměty.
Je podporována bezpečnost vlákna?
Každá. MapiMessage a) CFBReader souběžný přístup k samostatným instancím z jednotlivých článků je bezpečný.
Souhrnná referenční informace API
| Třída / metoda | Popis: |
|---|---|
MapiMessage | Vysoký úroveň zasílání MSG zprávy |
MapiMessage.from_file() | Naložit soubor MSG |
MapiMessage.create() | Vytvořit novou zprávu MSG |
MapiMessage.save() | Uložit do souboru MSG |
MapiMessage.to_email_message() | Konverze na e-mail (RFC 5322) |
MapiMessage.from_email_message() | Konverze z e-mailových sdělení na MSG |
MapiMessage.add_recipient() | Přidat příjemce |
MapiMessage.add_attachment() | Přidání binárního přílohy |
MapiAttachment | Příloha k zprávě |
MapiRecipient | Příjemce zprávy |
MapiProperty | Vstup na vlastnost MAPI |
CFBReader | Čtenář kontejnerů CFB nízké úrovně |
CFBWriter | Písmo pro tisk kontejnerů s nízkou úrovní CFB |
MsgReader | Čtenář struktury s nízkou hladinou MSG |