Dans certains cas, vous devrez peut-être lire et analyser les messages électroniques EML ou MSG à partir de vos applications. Afin de le faire par programmation, cet article montre comment extraire des informations des messages électroniques en Java. En particulier, vous apprendrez à lire les informations d’objet, de destination, de provenance, de corps et d’en-tête d’un e-mail.
- API Java pour lire les e-mails
- Lire un message électronique à l’aide de Java
- Extraire le corps de l’e-mail en texte brut
- Extraire les informations d’en-tête d’un e-mail
- Décoder la valeur de l’en-tête de l’e-mail
- Obtenez une licence API gratuite
API Java pour lire les e-mails
Afin de lire les e-mails, nous utiliserons Aspose.Email for Java. Il s’agit d’une API puissante qui vous permet de créer des clients de messagerie riches en fonctionnalités en Java. Vous pouvez soit télécharger le JAR de l’API ou l’installer à l’aide des configurations Maven suivantes.
<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>21.3</version>
<classifier>jdk16</classifier>
</dependency>
Lire un message électronique à l’aide de Java
Voici les étapes pour lire un message électronique en Java.
- Chargez le fichier e-mail à l’aide de la classe MailMessage.
- Lisez le contenu de l’e-mail à l’aide de l’objet MailMessage, tel que À, De, Objet, Corps, etc.
L’exemple de code suivant montre comment lire un message électronique à l’aide de Java.
// Créer une instance MailMessage en chargeant un fichier Eml
MailMessage message = MailMessage.load("test.eml");
System.out.print("From: ");
// Obtenir les informations de l'expéditeur
System.out.println(message.getFrom());
System.out.print("To: ");
// Obtenir les informations sur les destinataires
System.out.println(message.getTo());
System.out.print("Subject: ");
// Obtenir le sujet
System.out.println(message.getSubject());
System.out.print("HtmlBody: ");
// Obtenir le corps HTML
System.out.println(message.getHtmlBody());
System.out.print("TextBody: ");
// Obtient le corps du texte
System.out.println(message.getTextBody());
System.out.print("HtmlBodyText: ");
// Obtient le corps du texte from HTML
System.out.println(message.getHtmlBodyText());
Extraire le corps de l’e-mail en texte brut en Java
Vous pouvez également lire un e-mail et extraire son corps en texte brut au lieu de HTML. Voici les étapes pour effectuer cette opération.
- Chargez le fichier e-mail à l’aide de la classe MailMessage.
- Extrayez le corps de l’e-mail à l’aide de la méthode MailMessage.getHtmlBodyText(boolean).
L’exemple de code suivant montre comment extraire le corps d’un e-mail sous forme de texte brut en Java.
// Charger le message électronique
MailMessage mail = MailMessage.load("HtmlWithUrlSample.eml");
body_with_url = mail.getHtmlBodyText(true);// body will contain URL
String body_without_url = mail.getHtmlBodyText(false);// body will not contain URL
// Imprimer l'e-mail
System.out.println("Body with URL: " + body_with_url);
System.out.println("Body without URL: " + body_without_url);
Extraire les informations d’en-tête d’un e-mail en Java
Aspose.Email for Java vous permet également de lire les informations d’en-tête d’un message électronique. Voici les étapes pour effectuer cette opération.
- Chargez le fichier e-mail à l’aide de la classe MailMessage.
- Parcourez la collection d’en-têtes de l’e-mail à l’aide de la méthode MailMessage.getHeaders().
L’exemple de code suivant montre comment lire l’en-tête du message électronique à l’aide de Java.
// Créer une instance MailMessage en chargeant un fichier EML
MailMessage message = MailMessage.load("test.eml");
// Imprimez tous les en-têtes
System.out.println("Printing all Headers:\n\n");
for (int i=0; i< message.getHeaders().size(); i++)
System.out.println(message.getHeaders().get(i));
Décoder les en-têtes d’e-mails en Java
Vous pouvez également décoder les en-têtes des e-mails en procédant comme suit.
- Chargez le fichier e-mail à l’aide de la classe MailMessage.
- Obtenez la valeur décodée de l’en-tête de l’e-mail à l’aide de la méthode MailMessage.getHeaders().getDecodedValue(String name).
L’exemple de code suivant montre comment décoder une valeur d’en-tête d’e-mail en Java.
// Charger le message électronique
MailMessage mail = MailMessage.load("test.eml");
// Obtenir la valeur décodée de l'en-tête
String decodedValue = mail.getHeaders().getDecodedValue("Thread-Topic");
// Imprimer la valeur
System.out.println(decodedValue);
Obtenez une licence API gratuite
Vous pouvez demander une licence temporaire gratuite afin d’utiliser l’API sans limitation d’évaluation.
Démo en direct
Conclusion
Dans cet article, vous avez appris à lire des e-mails à l’aide de Java. De plus, vous avez vu comment extraire les informations d’en-tête d’un message électronique. Vous pouvez en savoir plus sur l’API de messagerie Java à l’aide de documentation. De plus, vous pouvez nous contacter via notre forum en cas de questions.