どうやってPythonでFOSSを始めるか
aspose-email-foss for Python は、作成、読書、および読み取りのための MIT ライセンス付きの無料のライブラリです。 変換 Outlook MSGファイルとCFBコンテナ — Microsoft Officeが必要で、ネイティブなし Python は、PyPI の純粋な拡張子です。.
ステップバイステップガイド
STEP 1: パッケージをインストールする
pip から PIP をインストールする:
pip install aspose-email-fossインストールが正しくロードされていることを確認する:
from aspose.email_foss.msg import MapiMessage
print("aspose-email-foss is ready.")STEP2: Import Required Classes をインポートする
メッセージ作成、プロパティ割り当て、フォーマット変換に必要なモジュールをインポートする:
from datetime import datetime, timezone
from aspose.email_foss import msg
from aspose.email_foss.msg import MapiMessage, PropertyIdステップ3:ファイルを作成する
利用 MapiMessage.create() メッセージを構築するには、主題と体で設定します。 同 PropertyId 常数を追加し、受信者を添付してファイルを貼り付けます。.
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.")Step 4: ファイルを再読する
保存したファイルを使用する MapiMessage.from_file() コンテキストマネージャーとして、Access the subject 和 body 返された物体から直接持ち帰る。.
with MapiMessage.from_file("getting-started.msg") as message:
print(f"Subject: {message.subject}")
print(f"Body : {message.body}")ステップ5: トランプを変える
to_email_bytes() メッセージを RFC 5322 形式に変換します。 A は .eml 標準図書館でファイルを保存する。.
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.")共通の問題と修正
ModuleNotFoundError: No module named 'aspose' パッケージは、アクティブな Python 環境にインストールされていません。 pip install aspose-email-foss 同じ仮想環境で、スクリプトを実行するために使用しているもの。 pip show aspose-email-foss.
FileNotFoundError 呼ぶとき MapiMessage.from_file() あなたが渡したパスは存在しないか、または OS の間違ったセラピターを使用しています。 pathlib.Path ポータブルに作る道: MapiMessage.from_file(Path("folder") / "file.msg").
MSG ファイルが Outlook で開きますが、主題は表示されません。 MapiMessage.create() 最初の論点として受講した場合、その内容を 空の文字列で、Outlook はメッセージをタイトルなしに表示します。 明示的に、 set_property(PropertyId.SUBJECT, "My Subject").
EML conversion produces an empty body. 変換は、空の体を生成します。 to_email_bytes() 利用 body_html もし、設定されると、また落ちてしまいます。 body.確認して、A at 少なくともこのうちの1つは、 MSG をロードした後で空である。 from_file().
受信者または主題のUnicodeコンテンツが割り切られる。 パス unicode_strings=True 二人 MapiMessage.create() ストリップの資産を確保するために、 設定は、ANSI(PT_STRING8)ではなく Unicode (PT-UNICODE) で保存されます。.
よくある質問
エクスプレー・アウトプットはMicrosoft Officeが必要ですか?
ノー。 図書館は完全に自己管理です。 バイナリ MSG と CFB の形式を Python で本体的に読み書き、Microsoft Office、COM 自動化、または Win32 API に依存することなく書きます。.
このライブラリは Linux または macOS で使用できますか?
はい。. aspose-email-foss Python 3.10 をサポートするプラットフォームで実行される。 Windows、macOS、Linux、Dockerコンテナ、サーバーレス機能を含む。.
図書館は商用利用が無料ですか?
はい. これはMITライセンスの下でリリースされています. あなたは、ライセンシングテキストを超えるロイヤルや割り当て要件なしに、商用アプリケーションを含むあらゆる目的のために使用、変更、再配布することができます。.
CC および BCC 受信機を追加するにはどうすればよいですか?
パス recipient_type=msg.RECIPIENT_TYPE_CC かしこ msg.RECIPIENT_TYPE_BCC 第三の如く 論点 2 add_recipient():
message.add_recipient("bob@example.com", display_name="Bob", recipient_type=msg.RECIPIENT_TYPE_CC)どうやって1つを別の内部に埋め込むのか?
利用 MapiMessage.add_embedded_message_attachment(),内側を通過する MapiMessage 主張は、最初の論点として:
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")