機能と特長
機能と特長
このページでは、すべての主要機能を網羅しています aspose-email-foss 26.3 動作するPythonの例とともに。.
MSG ファイルの読み取り
MSG ファイルを読み込み、コア プロパティにアクセスします:
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}")MSG ファイルの作成
最初から新しいメッセージを作成します:
from aspose.email_foss.msg import MapiMessage
msg = MapiMessage.create("Meeting Notes", "Please find the notes attached.")
msg.save("new_message.msg")既存のメッセージに件名と本文を設定します:
msg.subject = "Updated Subject"
msg.body = "Updated body text"
msg.save("updated.msg")受信者
表示名とタイプを指定して受信者を追加します:
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")添付ファイル
バイナリ ファイルの添付を追加します:
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")MSG メッセージを入れ子の添付として埋め込みます:
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")MAPI プロパティ
プロパティ ID による MAPI プロパティの読み書き:
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")すべてのプロパティを列挙します:
for prop in msg.iter_properties():
print(f"Tag: {prop.property_tag:#010x}")メール変換
MSG(MAPI)とメール(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")低レベル CFB 操作
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()CFB ドキュメントを書き込む::
from aspose.email_foss.msg import MsgWriter
data = msg.to_bytes()
with open("output.msg", "wb") as f:
f.write(data)ヒントとベストプラクティス
- 常に呼び出す
msg.close()または、読み取りが完了したらコンテキストマネージャを使用してファイルハンドルを解放してください - 使用してください
msg.validation_issuesMSG形式の準拠問題をチェックするために - この
strictパラメータはMapiMessage.from_file()エラー許容度を制御します — 設定はFalse寛容なパースのために - すべての添付データは、処理中にメモリにロードされます
from_file()— 使用att.dataバイトに直接アクセスするために;iter_attachments_info()は、すでに生成された添付リストに対する便利なイテレータです - 使用
to_email_string()完全なメールオブジェクトを構築せずに、テキストのプレビューをすばやく行うために
一般的な問題
| 問題 | 原因 | 修正 |
|---|---|---|
CFBError ロード時に | 有効なCFB/MSGファイルではありません | ファイルが実際のOutlook MSGであることを確認してください |
| ロード後に本文が空です | 本文はHTMLのみで保存されています | 確認 msg.body_html 代わりに msg.body |
| 受信者が不足しています | MSG には受信者ストレージがありません | MSG 形式では受信者は任意です; 確認 iter_attachments_info() |
FAQ
サポートされている MSG 形式のバージョンは何ですか??
このライブラリは CFB v3 および v4 形式の MSG ファイルを読み書きし、Microsoft Outlook と互換性があります。.
EML ファイルを読み取れますか??
直接はできません。ライブラリが MSG 形式を処理します。使用 MapiMessage.from_email_message() RFC 5322 から変換する EmailMessage オブジェクト。.
スレッドセーフはサポートされていますか??
各 MapiMessage および CFBReader インスタンスは独立しています。別々のスレッドから別々のインスタンスへの同時アクセスは安全です。.
API リファレンス概要
| クラス / メソッド | 説明 |
|---|---|
MapiMessage | 高レベルの MSG メッセージ表現 |
MapiMessage.from_file() | MSG ファイルを読み込む |
MapiMessage.create() | 新しい MSG メッセージを作成する |
MapiMessage.save() | MSG ファイルに保存する |
MapiMessage.to_email_message() | EmailMessage(RFC 5322)に変換する |
MapiMessage.from_email_message() | EmailMessage から MSG に変換する |
MapiMessage.add_recipient() | 受信者を追加する |
MapiMessage.add_attachment() | バイナリ添付ファイルを追加する |
MapiAttachment | メッセージの添付ファイル |
MapiRecipient | メッセージの受信者 |
MapiProperty | MAPI プロパティ エントリ |
CFBReader | 低レベル CFB コンテナ リーダー |
CFBWriter | 低レベル CFB コンテナ ライター |
MsgReader | 低レベル MSG 構造 リーダー |