Ako začať s Aspose.Email FOSS pre Python
aspose-email-foss Python je slobodná knižnica na vytváranie, čítanie a používanie. konverzia súborov programu Outlook a kontajnerov CFB – nevyžaduje sa Microsoft Office, nie je potrebný nativ Rozšírenie Python z PyPie.
Postupný návod
Krok 1: Nainštalujte balík
Inštalácia z PyPI s pip:
pip install aspose-email-fossSkontrolujte, či je inštalácia správne nainštalovaná:
from aspose.email_foss.msg import MapiMessage
print("aspose-email-foss is ready.")Krok 2: Import požadovaných tried
Import modulov, ktoré potrebujete na vytváranie správ, priradenie vlastností a konverziu formátov:
from datetime import datetime, timezone
from aspose.email_foss import msg
from aspose.email_foss.msg import MapiMessage, PropertyIdKrok 3: Vytvorenie súboru MSG
Používať MapiMessage.create() vytvoriť správu s predmetom a telom. Nastaviť odosielateľ metadát s PropertyId konštanty, pridať príjemcov a pripojiť súbor.
message = MapiMessage.create("Getting Started", "Hello from aspose-email-foss!")
message.set_property(PropertyId.SENDER_NAME, "Build Agent")
message.set_property(PropertyId.SENDER_EMAIL_ADDRESS, "agent@example.com")
message.set_property(
PropertyId.MESSAGE_DELIVERY_TIME,
datetime(2026, 1, 1, 9, 0, tzinfo=timezone.utc),
)
message.add_recipient("alice@example.com", display_name="Alice Example")
message.add_attachment("notes.txt", b"Meeting notes go here.\n", mime_type="text/plain")
message.save("getting-started.msg")
print("getting-started.msg written.")Krok 4: Prečítajte si súbor MSG späť
Nahrať uložený súbor pomocou MapiMessage.from_file() ako kontextový manažér. prístup k subject a body Vlastnosti priamo z vráteného objektu.
with MapiMessage.from_file("getting-started.msg") as message:
print(f"Subject: {message.subject}")
print(f"Body : {message.body}")Krok 5: Premeňte MSG na EML
to_email_bytes() prevedie nahranú správu do formátu RFC 5322. Napíšte výsledok na a) .eml Súbor so štandardnou knižnicou.
from pathlib import Path
with MapiMessage.from_file("getting-started.msg") as message:
Path("getting-started.eml").write_bytes(message.to_email_bytes())
print("getting-started.eml written.")Bežné problémy a riešenia
ModuleNotFoundError: No module named 'aspose' Balík nie je nainštalovaný v aktívnom prostredí Python. pip install aspose-email-foss v rovnakom virtuálnom prostredí, ktoré používate na spustenie skriptov. potvrďte pomocou pip show aspose-email-foss.
FileNotFoundError Keď voláte MapiMessage.from_file() Cesta, ktorú ste prešli neexistuje alebo používa nesprávny separátor pre váš OS. pathlib.Path Pre vybudovanie tras porcelánom: MapiMessage.from_file(Path("folder") / "file.msg").
MSG súbor sa otvorí v programe Outlook, ale nezobrazuje predmet MapiMessage.create() akceptuje predmet ako prvý argument pozície. Ak ste prešli prázdny reťazec, Outlook zobrazí správu ako bez názvu. Odovzdať nepražený režírok alebo nastaviť Výslovne s set_property(PropertyId.SUBJECT, "My Subject").
EML konverzia produkuje prázdne telo to_email_bytes() Používa sa body_html Ak sa nastaví a spadne späť na body.Potvrďte, že na aspoň jedna z týchto vlastností je po načítaní MSG s from_file().
Obsah Unicode v príjemcoch alebo subjektoch je skrátený Prejsť unicode_strings=True Dvojica MapiMessage.create() zabezpečiť, aby vlastnosti strun boli uložené v Unicode (PT_UNICODE) namiesto ANSI ( PT_STRING8).
Často kladené otázky
Vyžaduje Microsoft Office aj e-mailovú adresu?
Knižnica je úplne samostatná. číta a píše binárne formáty MSG a CFB natívne v Pythone bez akejkoľvek závislosti na Microsoft Office, automatizácii COM alebo Win32 API.
Môžem túto knižnicu používať v systéme Linux alebo macOS?
Áno áno. aspose-email-foss je čistý Python a beží na akejkoľvek platforme, ktorá podporuje Python 3.10 alebo novšie – vrátane Windows, macOS, Linuxu, kontajnerov Docker a funkcií bez servera.
Je knižnica voľná na komerčné využitie?
Je vydaný pod licenciou MIT. Môžete ho použiť, upraviť a redistribútujte na akýkoľvek účel vrátane komerčných aplikácií bez poplatkov za autorské práva alebo požiadaviek na priradenie nad rámec textu licencie.
Ako pridať CC a BCC prijímače?
Prejsť recipient_type=msg.RECIPIENT_TYPE_CC alebo msg.RECIPIENT_TYPE_BCC Ako tretí argumentovať add_recipient():
message.add_recipient("bob@example.com", display_name="Bob", recipient_type=msg.RECIPIENT_TYPE_CC)Ako môžem vložiť jednu MSG do inej?
Používať MapiMessage.add_embedded_message_attachment(),Prechádzajúc vnútorným MapiMessage Objekt ako prvý argument:
inner = MapiMessage.create("Inner message", "Embedded body.")
outer = MapiMessage.create("Outer message", "See attachment.")
outer.add_embedded_message_attachment(inner, "inner.msg")
outer.save("outer.msg")