Lesen Sie Emails in Java

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

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.

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.

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.

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.

Siehe auch