Carregando, Visualizando e Analisando arquivo MSG
Este tópico explica como carregar um arquivo de Mensagem do Microsoft Outlook (*.msg). O MapiMessage classe é usada para carregar arquivos MSG e fornece várias funções estáticas de carregamento para diferentes cenários. O trecho de código a seguir mostra como carregar arquivos MSG a partir de um arquivo ou de um stream.
Carregando Arquivos MSG
O trecho de código a seguir mostra como carregar arquivos 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());
}
O exemplo de código a seguir mostra como usar MailMessage para carregar uma mensagem no formato MSG.
MailMessage eml = MailMessage.load("message.msg");
Deve‑se notar que a mensagem resultante é convertida para o formato EML, incluindo anexos de mensagens incorporadas. Não use este método de carregamento se quiser preservar algumas propriedades específicas do formato MSG da mensagem original.
Para preservar o formato original dos anexos de mensagens incorporadas, use o MsgLoadOptions.PreserveEmbeddedMessageFormat propriedade.
MsgLoadOptions msgLoadOptions = new MsgLoadOptions();
msgLoadOptions.setPreserveEmbeddedMessageFormat(true);
MailMessage msg = MailMessage.load(stream, msgLoadOptions);
Carregando a partir de Stream
O trecho de código a seguir mostra como carregar um arquivo a partir de um stream.
// 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());
}
Convertendo EML para MSG Preservando o Formato EML Incorporado
Arquivos EML podem ser carregados em MapiMessage classe instanciando um MailMessage objeto e passá‑lo para MapiMessage.fromMailMessage método. Se o arquivo EML contiver arquivos EML incorporados, use MapiConversionOptions.setPreserveEmbeddedMessageFormat para reter o formato dos arquivos EML incorporados. O trecho de código abaixo mostra como carregar arquivos EML em MapiMessage enquanto preserva o formato dos arquivos EML incorporados.
Experimente!
Converta e‑mails & arquivos de mensagens online com o gratuito Aspose.Email Conversion App.
// 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);