Chargement, affichage et analyse du fichier MSG
Ce sujet explique comment charger un fichier de message Microsoft Outlook (*.msg). Le MapiMessage classe est utilisée pour charger des fichiers MSG et offre plusieurs fonctions de chargement statiques pour différents scénarios. Le fragment de code suivant montre comment charger des fichiers MSG depuis un fichier ou depuis un flux.
Chargement de fichiers MSG
Le fragment de code suivant montre comment charger des fichiers 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());
}
L’exemple de code suivant montre comment utiliser MailMessage pour charger un message au format MSG.
MailMessage eml = MailMessage.load("message.msg");
Il convient de noter qu’un message résultant est converti au format EML, y compris les pièces jointes de messages intégrés. N’utilisez pas cette méthode de chargement si vous souhaitez conserver certaines propriétés spécifiques du format msg du message original.
Pour préserver le format original des pièces jointes de messages intégrés, utilisez le MsgLoadOptions.PreserveEmbeddedMessageFormat propriété.
MsgLoadOptions msgLoadOptions = new MsgLoadOptions();
msgLoadOptions.setPreserveEmbeddedMessageFormat(true);
MailMessage msg = MailMessage.load(stream, msgLoadOptions);
Chargement depuis un flux
Le fragment de code suivant montre comment charger un fichier depuis un flux.
// 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());
}
Conversion d’EML en MSG en préservant le format EML intégré
Les fichiers EML peuvent être chargés dans MapiMessage classe en instanciant un MailMessage objet et le passer à MapiMessage.fromMailMessage méthode. Si le fichier EML contient des fichiers EML intégrés, utilisez MapiConversionOptions.setPreserveEmbeddedMessageFormat pour conserver le format des fichiers EML intégrés. Le fragment de code ci‑dé dessous montre comment charger des fichiers EML dans MapiMessage tout en préservant le format des fichiers EML intégrés.
Essayez-le !
Convertissez les courriels et les archives de messages en ligne avec le gratuit Application de conversion 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);