In bestimmten Fällen müssen Sie möglicherweise EML oder MSG Email-Nachrichten in Ihren Anwendungen lesen und parsen. Um dies programmgesteuert zu tun, zeigt dieser Artikel, wie Sie Informationen aus den Email-Nachrichten in Java extrahieren. Insbesondere lernen Sie, wie Sie die Betreff, An, Von, Text und Kopfzeileninformationen von Emails lesen.
- Java API zum Lesen von Emails
- Lesen Sie eine Email-Nachricht mit Java
- Extrahieren Sie den Email Text als einfachen Text
- Header-Informationen aus Emails extrahieren
- Decodieren Sie den Wert des Email-Headers
- Holen Sie sich eine kostenlose API Lizenz
Java API zum Lesen von Emails
Um die Email-Nachrichten zu lesen, verwenden wir Aspose.Email for Java. Es ist eine leistungsstarke API, mit der Sie funktionsreiche Email-Clients in Java erstellen können. Sie können die JAR Datei der API entweder herunterladen oder mit den folgenden Maven konfigurationen installieren.
<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>
Lesen Sie eine Email-Nachricht mit Java
Im Folgenden finden Sie die Schritte zum Lesen einer Email-Nachricht in Java.
- Laden Sie die Email Datei mit der Klasse MailMessage.
- Lesen Sie den Inhalt der Email mit dem Objekt MailMessage, z. B. An, Von, Betreff, Text usw.
Das folgende Codebeispiel zeigt, wie eine Email-Nachricht mit Java gelesen wird.
// Erstellen Sie eine MailMessage-Instanz, indem Sie eine EML Datei laden
MailMessage message = MailMessage.load("test.eml");
System.out.print("From: ");
// Holen Sie sich die Absenderinformationen
System.out.println(message.getFrom());
System.out.print("To: ");
// Holen Sie sich die Empfängerinformationen
System.out.println(message.getTo());
System.out.print("Subject: ");
// Holen Sie sich das Thema
System.out.println(message.getSubject());
System.out.print("HtmlBody: ");
// Holen Sie sich den HTML-Text
System.out.println(message.getHtmlBody());
System.out.print("TextBody: ");
// Ruft den Textkörper ab
System.out.println(message.getTextBody());
System.out.print("HtmlBodyText: ");
// Ruft den Textkörper ab from HTML
System.out.println(message.getHtmlBodyText());
Email Text als reinen Text in Java extrahieren
Sie können eine Email auch lesen und ihren Text als reinen Text statt als HTML extrahieren. Im Folgenden sind die Schritte zum Ausführen dieses Vorgangs aufgeführt.
- Laden Sie die Email Datei mit der Klasse MailMessage.
- Extrahieren Sie den Text der Email mit der methode MailMessage.getHtmlBodyText(boolean).
Das folgende Codebeispiel zeigt, wie Sie den Email Text als reinen Text in Java extrahieren.
// Email-Nachricht laden
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
// Email-Nachricht drucken
System.out.println("Body with URL: " + body_with_url);
System.out.println("Body without URL: " + body_without_url);
Extrahieren Sie Header-Informationen aus einer Email in Java
Aspose.Email for Java ermöglicht es Ihnen auch, Header-Informationen einer Email-Nachricht zu lesen. Im Folgenden sind die Schritte zum Ausführen dieses Vorgangs aufgeführt.
- Laden Sie die Email Datei mit der Klasse MailMessage.
- Durchlaufen Sie die Header Sammlung der Email mit der methode MailMessage.getHeaders().
Das folgende Codebeispiel zeigt, wie der Header der Email-Nachricht mit Java gelesen wird.
// Erstellen Sie eine MailMessage-Instanz, indem Sie eine EML Datei laden
MailMessage message = MailMessage.load("test.eml");
// Drucken Sie alle Kopfzeilen aus
System.out.println("Printing all Headers:\n\n");
for (int i=0; i< message.getHeaders().size(); i++)
System.out.println(message.getHeaders().get(i));
Decodieren Sie Email-Header in Java
Sie können die Email-Header auch mit den folgenden Schritten entschlüsseln.
- Laden Sie die Email Datei mit der Klasse MailMessage.
- Rufen Sie den Wert des decodierten Email-Headers mit der methode MailMessage.getHeaders().getDecodedValue(String name) ab.
Das folgende Codebeispiel zeigt, wie ein Email-Header-Wert in Java decodiert wird.
// Email-Nachricht laden
MailMessage mail = MailMessage.load("test.eml");
// Holen Sie sich den decodierten Wert aus dem Header
String decodedValue = mail.getHeaders().getDecodedValue("Thread-Topic");
// Drucken Sie den Wert
System.out.println(decodedValue);
Holen Sie sich eine kostenlose API Lizenz
Sie können eine kostenlose temporäre Lizenz anfordern, um die API ohne Evaluierungseinschränkungen zu verwenden.
Live-Demo
Fazit
In diesem Artikel haben Sie gelernt, wie Sie Email-Nachrichten mit Java lesen. Außerdem haben Sie gesehen, wie Sie Header-Informationen aus einer Email-Nachricht extrahieren. Weitere Informationen zur Java Email API finden Sie unter Dokumentation. Darüber hinaus können Sie uns bei Fragen über unser Forum kontaktieren.