EML を HTML に変換
EML を HTML に変換
メールコンテンツをウェブアプリケーションに統合するには、EML から HTML への変換が最適で、視覚的に魅力的なメール表示を実現します。
EML を HTML に変換するには、次のクラスが必要です:
- MailMessage クラスは、メールメッセージを表すオブジェクトの作成に使用されます。件名、本文、送信者、受信者アドレスなどのメッセージプロパティにアクセスできます。メソッドを使用して、メールの作成、ロード、解析、変更、保存、またはその他の操作を行えます。
- SaveOptions クラスは、メールメッセージをさまざまな形式で保存するためのオプションを提供します。ユーザーはメールメッセージの保存方法をカスタマイズでき、添付ファイル、ヘッダー、メタデータ、プロパティの保存オプションやエンコーディング設定、暗号化の有無などを指定できます。
以下のコードサンプルでは、これらのクラスが連携して既存の EML ファイルをロードし、メッセージ形式を EML と指定します。その後、指定されたデフォルトの HTML 保存オプションを使用して、ロードしたメールメッセージを HTML ファイルとして保存します:
- 使用する MailMessage.Load() 既存のファイルを MailMessage オブジェクトにロードし、メッセージ形式を指定するメソッドです。
- ロードした MailMessage オブジェクトを HTML ファイルとして保存するには、 保存 メソッドです。使用してください SaveOptions.DefaultHtml() HTML 形式の保存オプションを指定します。
// Initialize and Load an existing EML file by specifying the MessageFormat
var message = MailMessage.Load("myMessage.eml");
message.Save("output.html", SaveOptions.DefaultHtml);
EML リソースを別ファイルに保存
Aspose.Email は以下を提供します ResourceRenderingMode HTML ファイル内のリソースを操作できる列挙型です。以下のコードサンプルでは、この列挙型を使用してリソースをファイルに保存し、HTML の ‘src’ タグにそのファイルへのパスを挿入しています:
- ソースファイルからメールメッセージをロードするには、 MapiMessage.Load メソッド。
- インスタンスを作成する HtmlSaveOptions 指定されたレンダリングとリソースオプションを使用して。
- ロードしたメールメッセージを対象の場所に HTML ファイルとして保存するには、 保存 HtmlSaveOptions パラメータを使用するメソッドです。
var msg = MapiMessage.Load(sourceFileName);
var htmlSaveOptions = new HtmlSaveOptions
{
ResourceRenderingMode = ResourceRenderingMode.SaveToFile,
UseRelativePathToResources = true
};
msg.Save(Path.Combine("target.html"), htmlSaveOptions);
リソースを HTML ファイルに埋め込む
場合によっては、画像などのリソースを HTML ファイルに直接埋め込み、シームレスな配布と表示を実現する必要があります。Aspose.Email for .NET を使用すれば、次を利用して簡単に実現できます。 ResourceRenderingMode 列挙型:
- ソースファイルからメールメッセージをロードするには、 MapiMessage.Load メソッド。
- 新規作成 HtmlSaveOptions オブジェクトを使用し、ResourceRenderingMode プロパティを EmbedIntoHtml に設定します。
- ロードしたメールメッセージを HTML ファイルとして保存するには、 保存 メソッドは、対象ファイルパスを指定し、HtmlSaveOptions オブジェクトをパラメータとして渡してリソースを HTML ファイルに埋め込みます。
var msg = MapiMessage.Load(sourceFileName);
var htmlSaveOptions = new HtmlSaveOptions
{
ResourceRenderingMode = ResourceRenderingMode.EmbedIntoHtml
};
msg.Save(Path.Combine("target.html"), htmlSaveOptions);
EML を ICS に変換
次のコードサンプルは、EML ファイルからカレンダーイベントデータを抽出し、別の ICS ファイルに保存して、さらなる使用や操作ができる方法を示しています。
// Load the EML file
var eml = MailMessage.Load("message.eml");
// Find the alternate view with MediaType "text/calendar" (ICS)
var icsView = eml.GetAlternateViewContent("text/calendar");
// If an ICS view is found, save it to a file
if (icsView != null)
{
File.WriteAllText("appointment.ics", icsView);
}
カスタマイズ
Aspose.Email for .NET は、EML(電子メール)ファイルから抽出した ICS(iCalendar)コンテンツをカスタマイズするためのツールを提供します。
イベントの詳細をカスタマイズ
次のコードサンプルは、予約の要約、場所、説明などさまざまな詳細を設定する方法を示しています。コードは以下を利用します: Appointment クラスは、ICS(iCalendar)形式のカレンダー予約またはイベントを表します。このクラスは、プロパティとメソッドを提供し、プログラムからカレンダーイベントを作成、変更、管理できます。
// Load the EML file
var eml = MailMessage.Load("message.eml");
// Find the alternate view with MediaType "text/calendar" (ICS)
var icsView = eml.GetAlternateViewContent("text/calendar");
// If an ICS view is found, load it to Appointment class object
var appointment = Appointment.Load(new MemoryStream(Encoding.UTF8.GetBytes(icsView)));
// Customize the event details
appointment.Summary = "Customized Event Summary";
appointment.Location = "Customized Location";
appointment.Description = "Customized Event Description";
// Add or modify attendees as needed
appointment.Attendees.Clear();
appointment.Attendees.Add("custom@example.com");
// Save the customized ICS content to a file
appointment.Save("customized_appointment.ics");
繰り返しパターンを作成
次のコードサンプルは、予約の週次繰り返しパターンを作成する方法を示しています。この例では、予約は 5 週間ごとに土曜日に行われます。コードは以下を利用します: Recurrence プロパティ( Appointment クラスは、繰り返しパターンを取得または設定します。
var pattern = new WeeklyRecurrencePattern(5, 7);
pattern. EndDate = new DateTime(2023, 8, 7);
appointment.Recurrence = pattern;
EML を MBOX に追加
MBOX は複数のメールメッセージを単一ファイルに保存する一般的な形式で、メールのアーカイブや移行に適しています。次を使用してください。 MboxrdStorageWriter クラスは、メールメッセージを MBOX ファイルに書き込むためのものです。次のコードサンプルはこのタスクの実行方法を示しています:
using (var message = MailMessage.Load("inputFile.eml")){
using (var writer = new MboxrdStorageWriter("output.mbox", false)){
writer.WriteMessage(message);
}
}
EML を MHTML に変換
Aspose.Email for .NET を使用すれば、EML ファイルを MHTML 形式に簡単に変換でき、アーカイブ、互換性、オフライン閲覧などさまざまな目的に利用できます。メールメッセージは次でロードします: MailMessage.Load、次に MhtSaveOptions クラスをパラメータとして MailMessage.Save メッセージを別ファイルとして保存する際に出力ファイル形式を指定するメソッド:
// Initialize and Load an existing EML file by specifying the MessageFormat
var message = MailMessage.Load("myMessage.eml");
var mhtSaveOptions = new MhtSaveOptions;
message.Save("output.mhtml", mhtSaveOptions);
この MhtSaveOptions クラスは、特定の要件に合わせて出力 MHTML ファイルをカスタマイズするためのさまざまなオプションを提供します:
-
元の日付書式を保持します。変換プロセス中にメールメッセージの元の書式を保持するか選択できます:
saveOptions.PreserveOriginalDate = true; -
出力エンコーディングを設定します。出力 MHTML ファイルを書き込む際に使用するエンコーディングを指定できます:
saveOptions.OutputEncoding = Encoding.UTF8; -
添付ファイルを含めます。メールを MHTML 形式に変換する際に添付ファイルを保持したい場合に便利です:
saveOptions.SaveAttachments = true;
EML を MSG に変換
メールデータの移行、メッセージのアーカイブ、Microsoft Outlook との統合が必要な場合でも、Aspose.Email は目標達成のためのソリューションを提供します。MSG ファイルは Microsoft Outlook で広く使用されています。EML から MSG への変換には、次を使用してください。 MailMessage.Load 既存の EML ファイルをロードするメソッドで、ロード方法を次で指定します。 EmlLoadOptions.
次のコードサンプルは、EML ファイルを MSG 形式に変換する方法を示しています:
// Load mail message
using (var message = MailMessage.Load("sourceFile.eml", new EmlLoadOptions())){
// Save as MSG
var msgSaveOptions = new MsgSaveOptions;
message.Save("output.msg", MsgSaveOptions);
}
EML を OFT に変換
EML ファイルを Outlook テンプレート(OFT)形式に変換するには、既存のメールメッセージを次でロードします。 MailMessage.Load メソッドを使用し、次で保存します。 MailMessage.Save メッセージを OFT 形式で保存するデフォルトオプションを指定しています:
// load the EML file to be converted
var message = MailMessage.Load("My File.eml");
// save EML as a OFT
message.Save("Saved File.oft", SaveOptions.DefaultOft);
EML を PST に追加
EML ファイルをパーソナルストレージテーブル(PST)形式に変換するには、メッセージを次でロードします。 MapiMessage.Load メソッドを使用し、出力ファイルを作成します。 PersonalStorage.Create そして、ストレージファイル内に作成した Inbox フォルダーにメールを追加します。 AddMessage:
using (var msg = MapiMessage.Load("sourceFile.eml", new EmlLoadOptions()))
{
using (var personalStorage = PersonalStorage.Create("outputFile.pst", FileFormatVersion.Unicode))
{
var inbox = personalStorage.RootFolder.AddSubFolder("Inbox");
inbox.AddMessage(msg);
}
}
EML を OST に追加
開発者は EML ファイルを Outlook オフラインストレージテーブル(OST)形式に簡単に変換でき、Microsoft Outlook と統合できます。次のコードサンプルは、EML メッセージを OST ファイルに追加する方法を示しています:
using (var ost = PersonalStorage.FromFile("storage.ost"))
{
// Load the EML file
var msg = MapiMessage.Load("message.eml", new EmlLoadOptions());
// Add the EML message to the OST file
var folderInfo = ost.RootFolder.GetSubFolder("Inbox");
folderInfo.AddMessage(msg);
}
この EmlLoadOptions パラメータは、EML ファイルの読み込み時に埋め込みメッセージ形式の保持や署名の削除など、追加オプションを指定します。
EML を VCF に変換
Aspose.Email for .NET は、EML ファイルを vCard(VCF)形式に変換する機能を提供し、メールメッセージから連絡先情報を抽出できます。そのために、ライブラリは次を提供します。 GetAlternateViewContent メソッド( MailMessage クラスは、開発者がメールメッセージ内の代替ビューにアクセスし、EML ファイルに埋め込まれた VCF コンテンツを抽出して利用できるようにします:
// Load the EML file
var eml = MailMessage.Load("message.eml");
// Find the alternate view with MediaType "text/vcard" (VCF)
var vcfView = eml.GetAlternateViewContent("text/vcard");
// If an VCF view is found, save it to a file
if (vcfView != null)
{
File.WriteAllText("contact.vcf", vcfView);
}