Jak zacząć z Aspose.Email FOSS dla Pythona

Jak zacząć z Aspose.Email FOSS dla Pythona

aspose-email-foss Python to darmowa biblioteka licencjonowana przez MIT do tworzenia, czytania i Konwersja plików programu Outlook MSG i kontenerów CFB – nie wymagane jest Microsoft Office, nie ma oryginalnych Rozszerzenia, czysty Python z PyPI.

Przewodnik krok po kroku

Krok 1: Instalacja pakietu

Instalacja z PIPP:

pip install aspose-email-foss

Sprawdź, czy instalacja jest prawidłowo ładowana:

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

Krok 2: Import wymaganych klas

Importować moduły, które potrzebujesz do tworzenia wiadomości, przydzielania właściwości i konwersji formatów:

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

Krok 3: Tworzenie pliku MSG

Używanie MapiMessage.create() aby zbudować wiadomość z tematem i ciałem. ustawić metadane wysłannika z PropertyId stałe, dodać odbiorców i przyłączyć plik.

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: Przeczytaj plik MSG z powrotem

Pobierz zapisany plik za pomocą MapiMessage.from_file() jako menedżer kontekstu. dostęp do subject i body Właściwości bezpośrednio z powrotnego przedmiotu.

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

Krok 5: Konwertuj MSG na EML

to_email_bytes() Konwertuje przesłanie do formatu RFC 5322 . A .eml Zestaw z biblioteką standardową.

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

Wspólne problemy i rozwiązania

ModuleNotFoundError: No module named 'aspose' Pakiet nie jest zainstalowany w aktywnym środowisku Python. pip install aspose-email-foss w tym samym środowisku wirtualnym, które używasz do uruchomienia skryptów. potwierdź pip show aspose-email-foss.

FileNotFoundError Kiedy zadzwonić MapiMessage.from_file() Droga, którą przeszedłeś nie istnieje lub używa błędnego oddzielnika dla systemu operacyjnego. pathlib.Path W celu budowania dróg przenośnych: MapiMessage.from_file(Path("folder") / "file.msg").

Plik MSG otwiera się w programie Outlook, ale nie wyświetla żadnego tematu MapiMessage.create() akceptuje temat jako pierwszy argument pozycjonalny. jeśli przeszedł w pustym pasku, Outlook wyświetla wiadomość jako nieznanego. przejść pasek niepustny lub ustawić go Wyraźnie z set_property(PropertyId.SUBJECT, "My Subject").

Konwersja EML wytwarza puste ciało to_email_bytes() Używanie body_html Jeśli się rozstaje i spadnie z powrotem do body.Potwierdza to, że w co najmniej jedna z tych właściwości jest niepustna po załadowaniu MSG z from_file().

Unicode zawartość w odbiorcach lub przedmiot jest zepsute paszport unicode_strings=True do MapiMessage.create() Aby zapewnić właściwości strumieniowe, są Został on przechowywany w Unicode (PT_UNICODE) zamiast ANSI ( PT_STRING8).

Często zadawane pytania

Czy e-mail-foss wymaga Microsoft Office?

Biblioteka jest w pełni samodzielnie zawarta. czyta i pisze formaty binarne MSG i CFB native w Python bez uzależnienia od Microsoft Office, COM automatyzacji lub Win32 APIs.

Czy mogę korzystać z biblioteki na Linuxie lub macOS?

Tak i tak. aspose-email-foss Jest to czysty Python i działa na każdej platformie, która obsługuje Pythona 3.10. lub później – w tym Windows, macOS, Linux, konta Docker i funkcje bezserwera.

Czy biblioteka jest wolna do użytku komercyjnego?

Możesz używać, modyfikować i przekazywać go do jakiegokolwiek celu, w tym aplikacji komercyjnych, bez roszczeń lub wymogów przyznania poza tekstem licencji.

Jak dodać CC i BCC odbiorców?

paszport recipient_type=msg.RECIPIENT_TYPE_CC lub msg.RECIPIENT_TYPE_BCC jako trzecia Argument do add_recipient():

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

Jak wstawić jeden MSG do drugiego?

Używanie MapiMessage.add_embedded_message_attachment(),Przez wewnętrzną MapiMessage Obiekt jako pierwszy 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")

Zobacz również

 Polski