Jak začít s Aspose.Email FOSS pro Python

Jak začít s Aspose.Email FOSS pro Python

aspose-email-foss Python je zdarma dostupná knihovna pro tvorbu, čtení a konverze souborů a kontejnerů CFB v Outlooku - není vyžadován Microsoft Office, není nutné nativní Rozšíření Python z Pypi.

Krok za krokem průvodce

Krok 1: Nainstalujte balíček

Instalace z PIP s pipem:

pip install aspose-email-foss

Zkontrolujte, zda je instalace správně nainstalována:

from aspose.email_foss.msg import MapiMessage
print("aspose-email-foss is ready.")

Krok 2: Požadované třídy importů

Import modulů potřebných pro vytváření zpráv, přiřazení vlastností a konverzi formátů:

from datetime import datetime, timezone
from aspose.email_foss import msg
from aspose.email_foss.msg import MapiMessage, PropertyId

Krok 3: Vytvoření souboru MSG

Použijte MapiMessage.create() Vytvořit zprávu s předmětem a tělem.Nastavení metadat odesílatele s PropertyId Přidejte přijímače a připojte soubor.

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: Přečtěte si soubor Zpět

Uložit uložený soubor pomocí MapiMessage.from_file() jako kontextový manažer. přístup k subject a body Vlastnosti přímo z vráceného objektu.

with MapiMessage.from_file("getting-started.msg") as message:
    print(f"Subject: {message.subject}")
    print(f"Body   : {message.body}")

Krok 5: Převést MSG na EML

to_email_bytes() konvertuje nahranou zprávu na formát RFC 5322. A .eml Soubor se standardní knihovnou.

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.")

Časté problémy a opravy

ModuleNotFoundError: No module named 'aspose' Tento balíček není nainstalován v aktivním prostředí Python. pip install aspose-email-foss ve stejném virtuálním prostředí, které používáte k spuštění skriptů. pip show aspose-email-foss.

FileNotFoundError Když voláte MapiMessage.from_file() Cesta, kterou jste prošli neexistuje nebo používá nesprávný separátor pro váš OS. pathlib.Path Pro přenosné cesty: MapiMessage.from_file(Path("folder") / "file.msg").

Soubor MSG se otevře v Outlooku, ale nezobrazí předmět MapiMessage.create() přijímá předmět jako první poziční argument. Pokud jste prošli prázdný řetěz, Outlook zobrazí zprávu jako bez názvu. Přeposlat nepražený řetízek nebo nastavit jej Výslovně s set_property(PropertyId.SUBJECT, "My Subject").

EML konverze produkuje prázdné tělo to_email_bytes() Používá se body_html Pokud se to podaří, a spadne zpět do body.Potvrďte, že na alespoň jedna z těchto vlastností není prázdná po načtení MSG s from_file().

Unicode obsah v příjemcích nebo předmětu je zkrácen Passováno unicode_strings=True Těmto MapiMessage.create() Aby se zajistilo, že příslušenství je Ukládá se v Unicode (PT_UNICODE) a nikoli ANSI (pt_STRING8).

Často kladené otázky

Potřebuje Microsoft Office pro e-mailové schránky?

Knižnice je zcela samoobslužná. čte a píše binární formáty MSG a CFB nativně v Pythonu bez jakékoli závislosti na Microsoft Office, COM automatizaci nebo Win32 API.

Mohu tuto knihovnu používat v systému Linux nebo macOS?

Ano ano . aspose-email-foss Je čistý Python a běží na jakékoliv platformě, která podporuje Python 3.10 nebo novější – včetně Windows, macOS, Linuxu, kontejnerů Docker a funkcí bez serveru.

Je knihovna zdarma pro komerční využití?

Je vydán pod licencí MIT. Můžete jej používat, upravovat a přerozdělovat pro jakýkoli účel, včetně komerčních aplikací, bez poplatků za autorské právo nebo požadavků na přiřazení nad rámec textu licence.

Jak přidat CC a BCC přijímače?

Passováno recipient_type=msg.RECIPIENT_TYPE_CC nebo msg.RECIPIENT_TYPE_BCC Jako třetí Argumenty pro add_recipient():

message.add_recipient("bob@example.com", display_name="Bob", recipient_type=msg.RECIPIENT_TYPE_CC)

Jak se dá jeden vnitřek do druhého vložit?

Použijte MapiMessage.add_embedded_message_attachment(),Procházíme vnitřním MapiMessage Objekt jako první 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")

Viz také

 Čeština