PythonでMSGファイルを作成する方法
aspose-email-foss for Python を使用すると、Microsoft Office を使用せずにプログラムで Outlook MSG ファイルを作成できます。
ステップバイステップガイド
ステップ 1: パッケージをインストール
pip install aspose-email-fossステップ 2: メッセージを作成する
from aspose.email_foss.msg import MapiMessage, RECIPIENT_TYPE_CC
msg = MapiMessage.create("Meeting Notes", "Please review the attached notes.")ステップ 3: 受信者を追加
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)aspose.email_foss.msg から整数定数 RECIPIENT_TYPE_TO (1)、RECIPIENT_TYPE_CC (2)、または RECIPIENT_TYPE_BCC (3) を使用してください。
Step 4: 添付ファイルの追加
with open("notes.pdf", "rb") as f:
msg.add_attachment("notes.pdf", f.read(), mime_type="application/pdf")別の MSG メッセージを埋め込むには:
inner = MapiMessage.create("Forwarded", "Original message body")
msg.add_embedded_message_attachment(inner, filename="forwarded.msg", mime_type="application/vnd.ms-outlook")ステップ5: MSGファイルを保存
msg.save("output.msg")または、ストリーミング用にバイトを取得する:
data = msg.to_bytes()一般的な問題と対処法
保存されたファイルの受信者が空
add_recipient() を save() の前に呼び出すことを確認してください。受信者はシリアライズ中に書き込まれます。
Outlookで添付ファイルが表示されない
MIMEタイプが正しいことを確認してください。未知のファイルタイプには "application/octet-stream" をフォールバックとして使用します。
よくある質問 (FAQ)
HTML本文を設定できますか?
はい。作成後に HTML 本文を設定するには msg.body_html = "value" を使用してください。
MSG を EML 形式に変換できますか?
はい。msg.to_email_string() を呼び出して RFC 5322 表現を取得してください。
最大メッセージサイズは?
ハードリミットはありません。CFB v3 は最大 2 GB のファイルをサポートし、v4 はそれ以上のファイルをサポートします。