MSG ファイルのロード、表示、解析
このトピックでは、Microsoft Outlook メッセージファイル(*.msg)のロード方法について説明します。 MapiMessage このクラスは MSG ファイルをロードするために使用され、さまざまなシナリオ向けに複数の静的ロード機能を提供します。以下のコードスニペットは、ファイルまたはストリームから MSG ファイルをロードする方法を示します。
MSG ファイルのロード
以下のコードスニペットは、MSG ファイルをロードする方法を示します。
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// The path to the File directory.
String dataDir = RunExamples.getDataDir_Outlook();
// Create an instance of MapiMessage from file
MapiMessage msg = MapiMessage.fromFile(dataDir + "message.msg");
// Get subject
System.out.println("Subject:" + msg.getSubject());
// Get from address
System.out.println("From:" + msg.getSenderEmailAddress());
// Get body
System.out.println("Body" + msg.getBody());
// Get recipients information
System.out.println("Recipient: " + msg.getRecipients());
// Get attachments
for (MapiAttachment att : msg.getAttachments())
{
System.out.println("Attachment Name: " + att.getFileName());
System.out.println("Attachment Display Name: " + att.getDisplayName());
}
以下のコード例は、MailMessage を使用して MSG 形式のメッセージをロードする方法を示します。
MailMessage eml = MailMessage.load("message.msg");
結果として得られるメッセージは埋め込みメッセージ添付を含む EML 形式に変換されることに注意してください。元のメッセージの特定の MSG 形式プロパティを保持したい場合は、このロード方法は使用しないでください。
埋め込みメッセージ添付の元の形式を保持するには、 MsgLoadOptions.PreserveEmbeddedMessageFormat プロパティです。
MsgLoadOptions msgLoadOptions = new MsgLoadOptions();
msgLoadOptions.setPreserveEmbeddedMessageFormat(true);
MailMessage msg = MailMessage.load(stream, msgLoadOptions);
ストリームからのロード
以下のコードスニペットは、ストリームからファイルをロードする方法を示します。
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// Create an instance of MapiMessage from file
try (FileInputStream stream = new FileInputStream(dataDir + "message.msg"))
{
// Create an instance of MapiMessage from file
MapiMessage msg = MapiMessage.fromStream(stream);
// Get subject
System.out.println("Subject:" + msg.getSubject());
// Get from address
System.out.println("From:" + msg.getSenderEmailAddress());
// Get body
System.out.println("Body" + msg.getBody());
}
埋め込み EML 形式を保持したまま EML を MSG に変換
EML ファイルは以下にロードできます。 MapiMessage クラスにインスタンス化して MailMessage オブジェクトを作成し、 MapiMessage.fromMailMessage メソッドです。EML ファイルに埋め込み EML が含まれる場合は、以下を使用してください。 MapiConversionOptions.setPreserveEmbeddedMessageFormat 埋め込み EML ファイルの形式を保持するために、以下のコードスニペットは EML ファイルをロードする方法を示します。 MapiMessage 埋め込み EML ファイルの形式を保持したまま。
Try it out!
無料ツールでメールやメッセージ アーカイブをオンラインで変換 Aspose.Email 変換アプリ.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
String dataDir = RunExamples.getDataDir_Email();
MailMessage eml = MailMessage.load(dataDir + "sample.eml", new EmlLoadOptions());
MapiConversionOptions options = MapiConversionOptions.getUnicodeFormat();
//Preserve Embedded Message Format
options.setPreserveEmbeddedMessageFormat(true);
//Convert EML to MSG with Options
MapiMessage msg = MapiMessage.fromMailMessage(eml, options);