Cargando, Visualizando y Analizando archivo MSG
Este tema explica cómo cargar un archivo de mensaje de Microsoft Outlook (*.msg). El MapiMessage la clase se usa para cargar archivos MSG y proporciona varias funciones estáticas de carga para diferentes escenarios. El siguiente fragmento de código muestra cómo cargar archivos MSG desde un archivo o desde un flujo.
Cargando Archivos MSG
El siguiente fragmento de código muestra cómo cargar archivos 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());
}
El siguiente ejemplo de código muestra cómo usar MailMessage para cargar un mensaje en formato MSG.
MailMessage eml = MailMessage.load("message.msg");
Cabe señalar que el mensaje resultante se convierte al formato EML, incluidos los adjuntos de mensajes incrustados. No utilice este método de carga si desea preservar algunas propiedades específicas del formato msg del mensaje original.
Para preservar el formato original de los archivos adjuntos de mensajes incrustados, use el MsgLoadOptions.PreserveEmbeddedMessageFormat propiedad.
MsgLoadOptions msgLoadOptions = new MsgLoadOptions();
msgLoadOptions.setPreserveEmbeddedMessageFormat(true);
MailMessage msg = MailMessage.load(stream, msgLoadOptions);
Cargando Desde Flujo
El siguiente fragmento de código muestra cómo cargar un archivo desde un flujo.
// 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());
}
Convertir EML a MSG Conservando el Formato EML Incrustado
Los archivos EML pueden cargarse en MapiMessage clase instanciando una MailMessage objeto y pasándolo a MapiMessage.fromMailMessage método. Si el archivo EML contiene archivos EML incrustados, use MapiConversionOptions.setPreserveEmbeddedMessageFormat para retener el formato de los archivos EML incrustados. El fragmento de código a continuación muestra cómo cargar archivos EML en MapiMessage mientras se preserva el formato de los archivos EML incrustados.
¡Pruébalo!
Convierte correos y archivos de mensajes en línea con la versión gratuita Aplicación de Conversión 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);