電子メールのコンテンツを参照および共有する際には、電子メールを PDF に変換する必要があります。この記事では、Python を使用して MSG や EML などの電子メール メッセージ ファイルを PDF に変換する方法を学習します。これは、アプリケーション内のクラウド上で電子メール メッセージの変換を自動化するのに役立ちます。

Python でメールを PDF に変換する

この記事で取り上げるトピックは次のとおりです。

Python変換ライブラリ

EML および MSG 電子メール メッセージをクラウド上で PDF に変換するには、GroupDocs.Conversion Cloud API for Python を使用します。この API を使用すると、多数のドキュメントおよび画像形式のリストを他の サポートされている形式 に変換することもできます。

GitHub には、機能を学習して独自のアプリケーションに実装するのに役立つ Python のサンプルが用意されています。次のコマンドを使用して、PyPI (Python パッケージ インデックス) から pip (Python 用パッケージ インストーラー) を使用して groupdocs-conversion-cloud をインストールできます。

pip install groupdocs-conversion-cloud

または、リポジトリのクローンを作成し、setuptools 経由でインストールします。

python setup.py install

続行する前に、ダッシュボード からクライアント ID とクライアント シークレットをすぐに取得し、以下にジャンプして電子メールを一般的なポータブル ドキュメント形式である PDF に変換する Python の方法を確認してください。

Python を使用して MSG を PDF に変換する

Outlook MSG ファイルは、わずか数行のコードと以下の手順に従って PDF に変換できます。ステップ内の埋め込みリンクにより、クラスとメソッドをさらに詳しく調べることができます。

  1. クライアント ID、クライアント シークレット、および API ベース URL を使用して構成を設定します。
  2. ファイルパスと出力形式を設定します。
  3. EmailLoadOptions を使用して読み込みオプションを設定します。
  4. MSG ファイルを PDF 形式に変換するには、convert\document メソッドを設定とともに使用します。

次の Python コードは、上記の手順に従い、電子メールの MSG ファイルを PDF 形式に変換します。電子メール メッセージのさまざまなフィールド (宛先、CC、BCC) を非表示または表示するオプションもあります。

# GroupDocs.Conversion Cloud API を使用して Python で MSG 電子メール ファイルを PDF に変換する
configuration = groupdocs_conversion_cloud.Configuration("<< CLIENT_ID >>", "<< CLIENT_SECRET >>")
configuration.api_base_url = "https://api.groupdocs.cloud"

# APIインスタンスの作成
apiInstance = groupdocs_conversion_cloud.ConvertApi.from_config(configuration)

# 変換設定
settings = groupdocs_conversion_cloud.ConvertSettings()
settings.file_path = "filepath/email.msg"
settings.format = "pdf"

# ロードオプション
loadOptions = groupdocs_conversion_cloud.EmailLoadOptions()

## Set different fields as visible or hidden
loadOptions.display_header = True
loadOptions.display_from_email_address = True
loadOptions.display_to_email_address = False
loadOptions.display_email_address = True
loadOptions.display_cc_email_address = True
loadOptions.display_bcc_email_address = True

settings.load_options = loadOptions
settings.output_path = "filepath/folder"

# 設定に従ってPDFに変換
result = apiInstance.convert_document(groupdocs_conversion_cloud.ConvertDocumentRequest(settings))

Microsoft Outlook を使用して作成されたサンプル MSG ファイルを次に示します。さらに下にあるのは、Python コードを使用して MSG ファイルを変換することによって取得された PDF ファイルです。

プログラムによって PDF に変換される MSG 電子メール ファイル
プログラムによって MSG を PDF ファイルに変換しました

Python を使用して EML を PDF に変換する

同様に、ee は、同様の Python コード行を使用して、EML 形式の電子メール メッセージをプログラムで PDF 形式に変換することもできます。次の手順は、目的を達成するためのガイドです。

  1. クライアント ID、クライアント シークレット、および API ベース URL を使用して構成を設定します。
  2. ソース パス、出力形式、および ConvertSettings を定義します。
  3. EmailLoadOptions を使用して読み込みオプションを設定し、変換された PDF で表示または非表示にするフィールドも定義します。
# GroupDocs.Conversion Cloud API を使用して、Python でプログラム的に EML ファイルを PDF に変換する
configuration = groupdocs_conversion_cloud.Configuration("<< CLIENT_ID >>", "<< CLIENT_SECRET >>")
configuration.api_base_url = "https://api.groupdocs.cloud"

# APIインスタンスの作成
apiInstance = groupdocs_conversion_cloud.ConvertApi.from_config(configuration)

# 変換設定
settings = groupdocs_conversion_cloud.ConvertSettings()
settings.file_path = "filepath/email.eml"
settings.format = "pdf"

# ロードオプション
loadOptions = groupdocs_conversion_cloud.EmailLoadOptions()

## Set different fields as visible or hidden
loadOptions.display_cc_email_address = False
loadOptions.display_bcc_email_address = False

settings.load_options = loadOptions
settings.output_path = "filepath/folder"

# 設定に従ってPDFに変換
result = apiInstance.convert_document(groupdocs_conversion_cloud.ConvertDocumentRequest(settings))

上記のコードを使用して変換された、ソース EML ファイルと変換された PDF ファイルのスクリーンショットを次に示します。

プログラムによって PDF に変換される EML ファイル
プログラムによって EML を PDF ファイルに変換しました

結論

今日は、Python Conversion API を使用してクラウド上で MSG ファイルと EML ファイルを PDF に変換する方法を学びました。さらに、結果の PDF ファイルにプログラムでカスタマイズを適用して、希望のスタイルの結果を得ることができます。 GroupDocs.Conversion Cloud API の詳細については、ドキュメント を参照してください。不明な点がある場合は、サポート までお気軽にお問い合わせください。

関連項目