C++を使用して電子メールをHTMLに変換する

今日、電子メールはインターネットを介した最も一般的なコミュニケーション手段の1つです。ソフトウェア開発者として、さまざまなユーザー要件と使用シナリオがあります。そのような要件の1つは、電子メールコンテンツをWebページに埋め込みたい場合です。このような場合は、メールをHTML形式に変換する必要があります。この記事では、C++を使用してプログラムでMSGおよびEMLの電子メールをHTMLまたはMHTML形式に変換する方法を学習します。

電子メールをHTMLに変換するためのC++API

Aspose.Email for C++は、Microsoft Outlookをインストールしなくても、電子メールを作成、操作、および送信するためのネイティブC++ライブラリです。 APIは、電子メールをHTMLを含むさまざまな形式に変換する機能も提供します。 APIは、NuGetからインストールするか、ダウンロードセクションから直接ダウンロードできます。

PM> Install-Package Aspose.Email.Cpp

C++を使用して電子メールをHTMLに変換する

電子メールファイルをHTMLに変換するのは、Aspose.Email for C++APIを使用すると簡単です。たった2行のコードで、電子メールファイルをHTML形式に変換できます。以下は、C++を使用して電子メールファイルをHTML形式に変換する手順です。

以下は、電子メールファイルをHTML形式に変換するためのサンプルコードです。

// メールファイルを読み込む
System::SharedPtr<MailMessage> msg = MailMessage::Load(u"SourceDirectory\\Message.msg");

// メールをHTMLに変換する
msg->Save(u"OutputDirectory\\EmailToHtml.html", Aspose::Email::SaveOptions::get_DefaultHtml());

C++を使用したEメールのMHTMLへの変換

メールをHTMLに変換するのと同様に、MailMessage->Save(System::String fileName, System::SharedPtr options)メソッド。以下は、電子メールファイルをMHTML形式に変換する手順です。

以下は、電子メールファイルをMHTML形式に変換するためのサンプルコードです。

// メールファイルを読み込む
System::SharedPtr<MailMessage> msg = MailMessage::Load(u"SourceDirectory\\Message.eml");

// メールをMHTMLに変換する
msg->Save(u"OutputDirectory\\EmailToMhtml.mhtml", Aspose::Email::SaveOptions::get_DefaultMhtml());

メールをヘッダー付きのHTMLにエクスポート

デフォルトでは、生成されたHTMLには電子メールヘッダー情報は含まれていません。ヘッダー情報をエクスポートするには、HtmlSaveOptionsクラスを使用できます。以下は、結果のHTMLに含まれるヘッダー情報を使用して電子メールファイルをHTML形式に変換する手順です。

以下は、ヘッダー情報を含む電子メールをHTMLに変換するためのサンプルコードです。

// メールファイルを読み込む
System::SharedPtr<MailMessage> msg = MailMessage::Load(u"SourceDirectory\\Message.msg");

// HtmlSaveOptionsをインスタンス化します
System::SharedPtr<HtmlSaveOptions> saveOptions = System::MakeObject<HtmlSaveOptions>();

// ヘッダー情報を書き込む必要があることを示します。
saveOptions->set_HtmlFormatOptions(HtmlFormatOptions::WriteHeader);

// メールをHTMLに変換する
msg->Save(u"OutputDirectory\\EmailToHTWithHeader.html", saveOptions);

カスタムタイムゾーンを使用した電子メールからHTMLへの変換

Aspose.Email for C++は、カスタムタイムゾーンを指定することで電子メールを変換する機能を提供します。結果のHTMLファイルには、選択したタイムゾーンの時刻が表示されます。以下は、カスタムタイムゾーンを使用して電子メールファイルをHTML形式に変換する手順です。

以下は、C++を使用してカスタムタイムゾーンで電子メールファイルをHTML形式に変換するためのサンプルコードです。

// メールファイルを読み込む
System::SharedPtr<MailMessage> msg = MailMessage::Load(u"SourceDirectory\\Message.msg");

// メッセージ日付の現地時間を設定します。
msg->set_TimeZoneOffset(System::TimeZone::get_CurrentTimeZone()->GetUtcOffset(System::DateTime::get_Now()));

// HtmlSaveOptionsをインスタンス化します
System::SharedPtr<HtmlSaveOptions> saveOptions = System::MakeObject<HtmlSaveOptions>();

// ヘッダー情報を書き込む必要があることを示します。
saveOptions->set_HtmlFormatOptions(HtmlFormatOptions::WriteHeader);

// メールをHTMLに変換する
msg->Save(u"OutputDirectory\\EmailToHTMLWithCustomTimezone.html", saveOptions);

無料ライセンスを取得する

無料の一時ライセンスをリクエストすることで、評価の制限なしにAPIを試すことができます。

ライブデモ

結論

この記事では、C++を使用してMSGおよびEMLファイルをHTMLおよびMHTML形式に変換する方法を学習しました。また、生成されたHTML出力にヘッダー情報を含める方法も確認しました。さらに、電子メールのタイムゾーンをカスタマイズする方法を学びました。 Aspose.Email for C++は、電子メールファイルを操作するためのさらに多くの機能を提供します。 公式ドキュメントにアクセスすると、APIの詳細を調べることができます。ご不明な点がございましたら、無料サポートフォーラムまでお気軽にお問い合わせください。

関連項目