Przeczytaj plik MSG programu Outlook przy użyciu języka Java

MSG to format pliku e-mail używany przez MS Outlook. Jest to element programu Outlook, który umożliwia przechowywanie wiadomości e-mail, kontaktów, wiadomości, zadań, spotkań itp. W niektórych przypadkach może zaistnieć potrzeba odczytania plików MSG programu Outlook w aplikacjach Java i wyodrębnienia właściwości, takich jak temat, odbiorcy, nadawca, treść itp. W tym artykule dowiemy się, jak odczytać plik MSG programu Outlook przy użyciu języka Java.

W tym artykule zostaną omówione następujące tematy:

API Java do odczytu pliku MSG programu Outlook

Do odczytu pliku Outlook MSG będziemy używać API Aspose.Email for Java. Umożliwia płynne tworzenie, wysyłanie, czytanie i manipulowanie wiadomościami e-mail. Obsługuje także parsowanie plików Outlook MSG i udostępnia ich zawartość w obiektach Java. Proszę pobierz plik JAR interfejsu API lub po prostu dodaj następującą konfigurację pom.xml w aplikacji Java opartej na 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>

Analizuj i czytaj plik MSG programu Outlook przy użyciu języka Java

Możemy analizować i czytać plik MSG programu Outlook, wykonując czynności podane poniżej:

  1. Załaduj plik MSG za pomocą metody MapiMessage.load().
  2. Przeczytaj właściwości, takie jak SenderName, Temat, Treść, Odbiorcy z załadowanego MSG.

Poniższy przykładowy kod pokazuje, jak odczytać plik MSG programu Outlook przy użyciu języka Java.

// Ten przykład kodu demonstruje, jak odczytać plik MSG.
// Załaduj plik MSG z dysku
MapiMessage outlookMessageFile = MapiMessage.load("D:\\Files\\Email\\message.msg");

// Wyświetl nazwę nadawcy
System.out.println("Sender Name : " + outlookMessageFile.getSenderName());

// Wyświetl temat
System.out.println("Subject : " + outlookMessageFile.getSubject());

// Korpus wyświetlacza
System.out.println("Body : " + outlookMessageFile.getBody());

// Wyświetl informacje o odbiorcy
System.out.println("Recipients : \n");

// Przejdź w pętli przez kolekcję odbiorców powiązaną z obiektem MapiMessage
for (int i = 0; i < outlookMessageFile.getRecipients().size(); i++) {
  
  // Ustaw odwołanie do obiektu MapiRecipient
  MapiRecipient rcp = (MapiRecipient) outlookMessageFile.getRecipients().get_Item(i);
  
  // Wyświetl adres e-mail odbiorcy
  System.out.println("Email : " + rcp.getEmailAddress());
  
  // Wyświetl nazwę odbiorcy
  System.out.println("Name : " + rcp.getDisplayName());
  
  // Wyświetl typ odbiorcy
  System.out.println("Recipient Type : " + rcp.getRecipientType());
}
Analizuj i czytaj plik MSG programu Outlook przy użyciu języka Java.

Analizuj i czytaj plik MSG programu Outlook przy użyciu języka Java.

Pobierz załączniki z pliku MSG przy użyciu Java

Możemy również zapisać załączniki z pliku MSG programu Outlook, wykonując czynności podane poniżej:

  1. Załaduj plik MSG za pomocą metody MapiMessage.load().
  2. Przejdź przez kolekcję załączników powiązaną z obiektem MapiMessage.
  3. Zapisz każdy załącznik na dysku za pomocą metody save().

Poniższy przykładowy kod pokazuje, jak zapisywać załączniki z pliku MSG programu Outlook przy użyciu języka Java.

// Ten przykład kodu demonstruje, jak zapisywać załączniki z pliku MSG.
// Załaduj plik MSG z dysku
MapiMessage outlookMessageFile = MapiMessage.load("D:\\Files\\Email\\WithEmbeddedMsg.msg");

// Przejdź w pętli przez kolekcję załączników powiązaną z obiektem MapiMessage
for (int i = 0; i < outlookMessageFile.getAttachments().size(); i++) {
  
  // Ustaw odwołanie do obiektu MapiAttachment
  MapiAttachment outlookMessageAttachment = (MapiAttachment) outlookMessageFile.getAttachments().get_Item(i);
  
  // Wyświetl typ załącznika
  System.out.println("Att Type : " + outlookMessageAttachment.getMimeTag());
  
  // Wyświetl załączoną nazwę pliku
  System.out.println("File Name : " + outlookMessageAttachment.getLongFileName());
  
  // Zapisz załącznik na dysku
  outlookMessageAttachment.save("D:\\Files\\Email\\" + outlookMessageAttachment.getDisplayName());
}
Pobierz załączniki z pliku MSG przy użyciu Java.

Pobierz załączniki z pliku MSG przy użyciu Java.

Przeczytaj osadzoną wiadomość z załącznika

Możemy również czytać wiadomości e-mail osadzone w załączniku MSG programu Outlook, wykonując czynności podane poniżej:

  1. Załaduj plik MSG za pomocą metody MapiMessage.load().
  2. Pobierz załączoną wiadomość jako obiekt MapiMessage.
  3. Pokaż właściwości wiadomości.

Poniższy przykładowy kod pokazuje, jak odczytać osadzoną wiadomość jako załącznik przy użyciu języka Java.

// Ten przykład kodu demonstruje, jak odczytać osadzoną wiadomość załączoną w MSG.
// Załaduj plik MSG
MapiMessage mapi = MapiMessage.load(dataDir + "EmbededMessageAsAttachment.msg");

// Pokaż wszystkie załączniki
System.out.println("Total attachments : " + mapi.getAttachments().size());

// Przeczytaj załącznik jako MapiMessage
MapiMessage emb = mapi.getAttachments().get_Item(0).getObjectData().toMapiMessage();

// Wyświetl nazwę nadawcy
System.out.println("Sender Name : " + emb.getSenderName());

// Wyświetl temat
System.out.println("Subject : " + emb.getSubject());

// Korpus wyświetlacza
System.out.println("Body : " + emb.getBody());

// Wyświetl informacje o odbiorcy
System.out.println("Recipients :");

// Przejdź w pętli przez kolekcję odbiorców powiązaną z obiektem MapiMessage
for (int i = 0; i < emb.getRecipients().size(); i++) {
  
  // Ustaw odwołanie do obiektu MapiRecipient
  MapiRecipient rcp = (MapiRecipient) emb.getRecipients().get_Item(i);
  
  // Wyświetl adres e-mail odbiorcy
  System.out.println("\t Email : " + rcp.getEmailAddress());
  
  // Wyświetl nazwę odbiorcy
  System.out.println("\t Name : " + rcp.getDisplayName());
  
  // Wyświetl typ odbiorcy
  System.out.println("\t Recipient Type : " + rcp.getRecipientType());
}

Zdobądź bezpłatną licencję

Wypróbuj interfejs API bez ograniczeń ewaluacyjnych, prosząc o bezpłatną licencję tymczasową.

Wniosek

W tym artykule dowiedzieliśmy się, jak programowo odczytać zawartość pliku Outlook MSG przy użyciu języka Java. Co więcej, widzieliśmy, jak czytać i wyodrębniać załączniki z pliku MSG. Poza tym możesz dowiedzieć się więcej o Aspose.Email for Java API, korzystając z dokumentacji. W przypadku jakichkolwiek niejasności prosimy o kontakt na forum.

Zobacz też