Lesen Sie die Outlook MSG-Datei mit Java

MSG ist ein E-Mail-Dateiformat, das von MS Outlook verwendet wird. Es ist ein Outlook-Element, das das Speichern von E-Mails, Kontakten, Nachrichten, Aufgaben, Terminen usw. ermöglicht. In bestimmten Fällen müssen wir möglicherweise Outlook-MSG-Dateien in Java-Anwendungen lesen und Eigenschaften wie Betreff, Empfänger, Absender, Text usw. extrahieren. In diesem Artikel erfahren Sie, wie Sie eine Outlook-MSG-Datei mit Java lesen.

Folgende Themen sollen in diesem Artikel behandelt werden:

Java-API zum Lesen der Outlook-MSG-Datei

Zum Lesen der Outlook-MSG-Datei verwenden wir die API Aspose.Email for Java. Es ermöglicht das nahtlose Erstellen, Senden, Lesen und Bearbeiten von E-Mail-Nachrichten. Es unterstützt auch das Parsen von Outlook-MSG-Dateien und stellt deren Inhalt in Java-Objekten bereit. Bitte laden Sie die JAR-Datei der API herunter oder fügen Sie einfach die folgende pom.xml-Konfiguration in einer Maven-basierten Java-Anwendung hinzu.

<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>

Analysieren und lesen Sie eine Outlook-MSG-Datei mit Java

Wir können eine Outlook-MSG-Datei analysieren und lesen, indem wir die folgenden Schritte ausführen:

  1. Laden Sie eine MSG-Datei mit der Methode MapiMessage.load().
  2. Lesen Sie Eigenschaften wie SenderName, Subject, Body, Recipients aus der geladenen MSG.

Das folgende Codebeispiel zeigt, wie eine Outlook-MSG-Datei mit Java gelesen wird.

// Dieses Codebeispiel zeigt, wie die MSG-Datei gelesen wird.
// Laden Sie eine MSG-Datei von der Festplatte
MapiMessage outlookMessageFile = MapiMessage.load("D:\\Files\\Email\\message.msg");

// Name des Absenders anzeigen
System.out.println("Sender Name : " + outlookMessageFile.getSenderName());

// Betreff anzeigen
System.out.println("Subject : " + outlookMessageFile.getSubject());

// Anzeigekörper
System.out.println("Body : " + outlookMessageFile.getBody());

// Informationen des Empfängers anzeigen
System.out.println("Recipients : \n");

// Durchlaufen Sie die Empfängersammlung, die dem MapiMessage-Objekt zugeordnet ist
for (int i = 0; i < outlookMessageFile.getRecipients().size(); i++) {
  
  // Legen Sie einen Verweis auf das MapiRecipient-Objekt fest
  MapiRecipient rcp = (MapiRecipient) outlookMessageFile.getRecipients().get_Item(i);
  
  // E-Mail-Adresse des Empfängers anzeigen
  System.out.println("Email : " + rcp.getEmailAddress());
  
  // Empfängernamen anzeigen
  System.out.println("Name : " + rcp.getDisplayName());
  
  // Empfängertyp anzeigen
  System.out.println("Recipient Type : " + rcp.getRecipientType());
}
Analysieren und lesen Sie eine Outlook-MSG-Datei mit Java.

Analysieren und lesen Sie eine Outlook-MSG-Datei mit Java.

Anhänge aus MSG-Datei mit Java abrufen

Wir können die Anhänge auch aus einer Outlook-MSG-Datei speichern, indem Sie die folgenden Schritte ausführen:

  1. Laden Sie eine MSG-Datei mit der Methode MapiMessage.load().
  2. Durchlaufen Sie die Anlagensammlung, die dem MapiMessage-Objekt zugeordnet ist.
  3. Speichern Sie jeden Anhang mit der Methode save() auf der Festplatte.

Das folgende Codebeispiel zeigt, wie Anlagen aus einer Outlook-MSG-Datei mit Java gespeichert werden.

// Dieses Codebeispiel zeigt, wie Anhänge aus einer MSG-Datei gespeichert werden.
// Laden Sie eine MSG-Datei von der Festplatte
MapiMessage outlookMessageFile = MapiMessage.load("D:\\Files\\Email\\WithEmbeddedMsg.msg");

// Durchlaufen Sie die Anlagensammlung, die dem MapiMessage-Objekt zugeordnet ist
for (int i = 0; i < outlookMessageFile.getAttachments().size(); i++) {
  
  // Legen Sie einen Verweis auf das MapiAttachment-Objekt fest
  MapiAttachment outlookMessageAttachment = (MapiAttachment) outlookMessageFile.getAttachments().get_Item(i);
  
  // Anhangstyp anzeigen
  System.out.println("Att Type : " + outlookMessageAttachment.getMimeTag());
  
  // Angehängten Dateinamen anzeigen
  System.out.println("File Name : " + outlookMessageAttachment.getLongFileName());
  
  // Anhang auf der Festplatte speichern
  outlookMessageAttachment.save("D:\\Files\\Email\\" + outlookMessageAttachment.getDisplayName());
}
Anhänge aus MSG-Datei mit Java abrufen.

Anhänge aus MSG-Datei mit Java abrufen.

Lesen Sie die eingebettete Nachricht aus dem Anhang

Wir können die in den Outlook MSG-Anhang eingebetteten E-Mail-Nachrichten auch lesen, indem wir die folgenden Schritte ausführen:

  1. Laden Sie eine MSG-Datei mit der Methode MapiMessage.load().
  2. Rufen Sie die angehängte Nachricht als MapiMessage-Objekt ab.
  3. Nachrichteneigenschaften anzeigen.

Das folgende Codebeispiel zeigt, wie eine eingebettete Nachricht als Anlage mit Java gelesen wird.

// Dieses Codebeispiel zeigt, wie eine in MSG angehängte eingebettete Nachricht gelesen wird.
// Laden Sie eine MSG-Datei
MapiMessage mapi = MapiMessage.load(dataDir + "EmbededMessageAsAttachment.msg");

// Gesamte Anhänge anzeigen
System.out.println("Total attachments : " + mapi.getAttachments().size());

// Anhang als MapiMessage lesen
MapiMessage emb = mapi.getAttachments().get_Item(0).getObjectData().toMapiMessage();

// Name des Absenders anzeigen
System.out.println("Sender Name : " + emb.getSenderName());

// Betreff anzeigen
System.out.println("Subject : " + emb.getSubject());

// Anzeigekörper
System.out.println("Body : " + emb.getBody());

// Informationen des Empfängers anzeigen
System.out.println("Recipients :");

// Durchlaufen Sie die Empfängersammlung, die dem MapiMessage-Objekt zugeordnet ist
for (int i = 0; i < emb.getRecipients().size(); i++) {
  
  // Legen Sie einen Verweis auf das MapiRecipient-Objekt fest
  MapiRecipient rcp = (MapiRecipient) emb.getRecipients().get_Item(i);
  
  // E-Mail-Adresse des Empfängers anzeigen
  System.out.println("\t Email : " + rcp.getEmailAddress());
  
  // Empfängernamen anzeigen
  System.out.println("\t Name : " + rcp.getDisplayName());
  
  // Empfängertyp anzeigen
  System.out.println("\t Recipient Type : " + rcp.getRecipientType());
}

Holen Sie sich eine kostenlose Lizenz

Bitte testen Sie die API ohne Evaluierungseinschränkungen, indem Sie eine kostenlose temporäre Lizenz anfordern.

Fazit

In diesem Artikel haben wir gelernt, wie man den Inhalt der Outlook-MSG-Datei programmgesteuert mit Java liest. Außerdem haben wir gesehen, wie man Anhänge aus einer MSG-Datei liest und extrahiert. Außerdem können Sie mithilfe der Dokumentation mehr über Aspose.Email for Java API erfahren. Bei Unklarheiten können Sie uns gerne im Forum kontaktieren.

Siehe auch