Le MSG est un format de fichier de courrier électronique utilisé par MS Outlook. Il s’agit d’un élément Outlook qui permet de stocker des e-mails, des contacts, des messages, des tâches, des rendez-vous, etc. Dans certains cas, nous pouvons avoir besoin de lire des fichiers Outlook MSG dans des applications Java et d’extraire des propriétés telles que le sujet, les destinataires, l’expéditeur, le corps, etc. Dans cet article, nous allons apprendre comment lire un fichier Outlook MSG en utilisant Java.
Les sujets suivants seront traités dans cet article :
- API Java pour lire le fichier Outlook MSG
- Analyser et lire un fichier Outlook MSG
- Obtenir des pièces jointes à partir du fichier MSG
- Lire le message intégré à partir de la pièce jointe
API Java pour lire le fichier Outlook MSG
Pour lire le fichier Outlook MSG, nous utiliserons l’API Aspose.Email for Java. Il permet de créer, d’envoyer, de lire et de manipuler des e-mails de manière transparente. Il prend également en charge l’analyse des fichiers Outlook MSG et fournit leur contenu dans des objets Java. Veuillez soit télécharger le JAR de l’API ou simplement ajouter la configuration pom.xml suivante dans une application Java basée sur Maven.
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-email</artifactId>
<version>22.2</version>
<classifier>jdk16</classifier>
</dependency>
Analyser et lire un fichier Outlook MSG à l’aide de Java
Nous pouvons analyser et lire un fichier Outlook MSG en suivant les étapes ci-dessous :
- Chargez un fichier MSG à l’aide de la méthode MapiMessage.load().
- Lire les propriétés telles que SenderName, Subject, Body, Recipients à partir du MSG chargé.
L’exemple de code suivant montre comment lire un fichier Outlook MSG à l’aide de Java.
// Cet exemple de code montre comment lire le fichier MSG.
// Charger un fichier MSG à partir du disque
MapiMessage outlookMessageFile = MapiMessage.load("D:\\Files\\Email\\message.msg");
// Afficher le nom de l'expéditeur
System.out.println("Sender Name : " + outlookMessageFile.getSenderName());
// Afficher le sujet
System.out.println("Subject : " + outlookMessageFile.getSubject());
// Corps d'affichage
System.out.println("Body : " + outlookMessageFile.getBody());
// Afficher les informations du destinataire
System.out.println("Recipients : \n");
// Boucle dans la collection de destinataires associée à l'objet MapiMessage
for (int i = 0; i < outlookMessageFile.getRecipients().size(); i++) {
// Set a reference to the MapiRecipient object
MapiRecipient rcp = (MapiRecipient) outlookMessageFile.getRecipients().get_Item(i);
// Display recipient email address
System.out.println("Email : " + rcp.getEmailAddress());
// Display recipient name
System.out.println("Name : " + rcp.getDisplayName());
// Display recipient type
System.out.println("Recipient Type : " + rcp.getRecipientType());
}
Obtenir des pièces jointes à partir d’un fichier MSG à l’aide de Java
Nous pouvons également enregistrer les pièces jointes à partir d’un fichier Outlook MSG en suivant les étapes ci-dessous :
- Chargez un fichier MSG à l’aide de la méthode MapiMessage.load().
- Parcourez la collection de pièces jointes associée à l’objet MapiMessage.
- Enregistrez chaque pièce jointe sur le disque à l’aide de la méthode save().
L’exemple de code suivant montre comment enregistrer des pièces jointes à partir d’un fichier Outlook MSG à l’aide de Java.
// Cet exemple de code montre comment enregistrer des pièces jointes à partir d'un fichier MSG.
// Charger un fichier MSG à partir du disque
MapiMessage outlookMessageFile = MapiMessage.load("D:\\Files\\Email\\WithEmbeddedMsg.msg");
// Boucle dans la collection de pièces jointes associée à l'objet MapiMessage
for (int i = 0; i < outlookMessageFile.getAttachments().size(); i++) {
// Set a reference to the MapiAttachment object
MapiAttachment outlookMessageAttachment = (MapiAttachment) outlookMessageFile.getAttachments().get_Item(i);
// Display attachment type
System.out.println("Att Type : " + outlookMessageAttachment.getMimeTag());
// Display attached file name
System.out.println("File Name : " + outlookMessageAttachment.getLongFileName());
// Save attachment to the disk
outlookMessageAttachment.save("D:\\Files\\Email\\" + outlookMessageAttachment.getDisplayName());
}
Lire le message intégré à partir de la pièce jointe
Nous pouvons également lire les e-mails intégrés dans la pièce jointe Outlook MSG en suivant les étapes ci-dessous :
- Chargez un fichier MSG à l’aide de la méthode MapiMessage.load().
- Obtenez le message joint en tant qu’objet MapiMessage.
- Afficher les propriétés du message.
L’exemple de code suivant montre comment lire un message intégré en tant que pièce jointe à l’aide de Java.
// Cet exemple de code montre comment lire un message intégré joint dans MSG.
// Charger un fichier MSG
MapiMessage mapi = MapiMessage.load(dataDir + "EmbededMessageAsAttachment.msg");
// Afficher le nombre total de pièces jointes
System.out.println("Total attachments : " + mapi.getAttachments().size());
// Lire la pièce jointe en tant que MapiMessage
MapiMessage emb = mapi.getAttachments().get_Item(0).getObjectData().toMapiMessage();
// Afficher le nom de l'expéditeur
System.out.println("Sender Name : " + emb.getSenderName());
// Afficher le sujet
System.out.println("Subject : " + emb.getSubject());
// Corps d'affichage
System.out.println("Body : " + emb.getBody());
// Afficher les informations du destinataire
System.out.println("Recipients :");
// Boucle dans la collection de destinataires associée à l'objet MapiMessage
for (int i = 0; i < emb.getRecipients().size(); i++) {
// Set a reference to the MapiRecipient object
MapiRecipient rcp = (MapiRecipient) emb.getRecipients().get_Item(i);
// Display recipient email address
System.out.println("\t Email : " + rcp.getEmailAddress());
// Display recipient name
System.out.println("\t Name : " + rcp.getDisplayName());
// Display recipient type
System.out.println("\t Recipient Type : " + rcp.getRecipientType());
}
Obtenez une licence gratuite
Veuillez essayer l’API sans limitation d’évaluation en demandant une licence temporaire gratuite.
Conclusion
Dans cet article, nous avons appris à lire le contenu du fichier Outlook MSG par programmation à l’aide de Java. De plus, nous avons vu comment lire et extraire les pièces jointes d’un fichier MSG. En outre, vous pouvez en savoir plus sur l’API Aspose.Email pour Java en utilisant la documentation. En cas d’ambiguïté, n’hésitez pas à nous contacter sur le forum.