PythonでMSGファイルを作成する方法

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 はそれ以上のファイルをサポートします。

 日本語