Leggi il file MSG di Outlook utilizzando Java

MSG è un formato di file di posta elettronica utilizzato da MS Outlook. È un elemento di Outlook che consente di archiviare e-mail, contatti, messaggi, attività, appuntamenti, ecc. In alcuni casi, potrebbe essere necessario leggere i file MSG di Outlook nelle applicazioni Java ed estrarre proprietà come oggetto, destinatari, mittente, corpo, ecc. In questo articolo impareremo come leggere un file MSG di Outlook utilizzando Java.

In questo articolo verranno trattati i seguenti argomenti:

API Java per leggere il file MSG di Outlook

Per leggere il file MSG di Outlook, utilizzeremo l’API Aspose.Email per Java. Consente di creare, inviare, leggere e manipolare i messaggi di posta elettronica senza interruzioni. Supporta anche l’analisi dei file MSG di Outlook e fornisce il loro contenuto in oggetti Java. Si prega di scaricare il JAR dell’API o semplicemente aggiungere la seguente configurazione pom.xml in un’applicazione Java basata su 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>

Analizza e leggi un file MSG di Outlook utilizzando Java

Possiamo analizzare e leggere un file MSG di Outlook seguendo i passaggi indicati di seguito:

  1. Carica un file MSG utilizzando il metodo MapiMessage.load().
  2. Leggere proprietà come SenderName, Subject, Body, Recipients dal MSG caricato.

L’esempio di codice seguente mostra come leggere un file MSG di Outlook utilizzando Java.

// Questo esempio di codice illustra come leggere il file MSG.
// Carica un file MSG dal disco
MapiMessage outlookMessageFile = MapiMessage.load("D:\\Files\\Email\\message.msg");

// Visualizza il nome del mittente
System.out.println("Sender Name : " + outlookMessageFile.getSenderName());

// Visualizza oggetto
System.out.println("Subject : " + outlookMessageFile.getSubject());

// Mostra corpo
System.out.println("Body : " + outlookMessageFile.getBody());

// Visualizza le informazioni sul destinatario
System.out.println("Recipients : \n");

// Scorri la raccolta di destinatari associata all'oggetto MapiMessage
for (int i = 0; i < outlookMessageFile.getRecipients().size(); i++) {
  
  // Impostare un riferimento all'oggetto MapiRecipient
  MapiRecipient rcp = (MapiRecipient) outlookMessageFile.getRecipients().get_Item(i);
  
  // Visualizza l'indirizzo email del destinatario
  System.out.println("Email : " + rcp.getEmailAddress());
  
  // Visualizza il nome del destinatario
  System.out.println("Name : " + rcp.getDisplayName());
  
  // Visualizza il tipo di destinatario
  System.out.println("Recipient Type : " + rcp.getRecipientType());
}
Analizza e leggi un file MSG di Outlook utilizzando Java.

Analizza e leggi un file MSG di Outlook utilizzando Java.

Ottieni allegati da file MSG utilizzando Java

Possiamo anche salvare gli allegati da un file MSG di Outlook seguendo i passaggi indicati di seguito:

  1. Carica un file MSG utilizzando il metodo MapiMessage.load().
  2. Scorri la raccolta allegati associata all’oggetto MapiMessage.
  3. Salva ogni allegato su disco usando il metodo save().

L’esempio di codice seguente mostra come salvare gli allegati da un file MSG di Outlook utilizzando Java.

// Questo esempio di codice mostra come salvare gli allegati dal file MSG.
// Carica un file MSG dal disco
MapiMessage outlookMessageFile = MapiMessage.load("D:\\Files\\Email\\WithEmbeddedMsg.msg");

// Scorri la raccolta di allegati associata all'oggetto MapiMessage
for (int i = 0; i < outlookMessageFile.getAttachments().size(); i++) {
  
  // Impostare un riferimento all'oggetto MapiAttachment
  MapiAttachment outlookMessageAttachment = (MapiAttachment) outlookMessageFile.getAttachments().get_Item(i);
  
  // Visualizza il tipo di allegato
  System.out.println("Att Type : " + outlookMessageAttachment.getMimeTag());
  
  // Visualizza il nome del file allegato
  System.out.println("File Name : " + outlookMessageAttachment.getLongFileName());
  
  // Salva l'allegato sul disco
  outlookMessageAttachment.save("D:\\Files\\Email\\" + outlookMessageAttachment.getDisplayName());
}
Ottieni allegati da file MSG utilizzando Java.

Ottieni allegati da file MSG utilizzando Java.

Leggi il messaggio incorporato dall’allegato

Possiamo anche leggere i messaggi di posta elettronica incorporati nell’allegato MSG di Outlook seguendo i passaggi indicati di seguito:

  1. Carica un file MSG utilizzando il metodo MapiMessage.load().
  2. Ottieni il messaggio allegato come oggetto MapiMessage.
  3. Mostra le proprietà del messaggio.

L’esempio di codice seguente mostra come leggere un messaggio incorporato come allegato utilizzando Java.

// Questo esempio di codice illustra come leggere un messaggio incorporato allegato in MSG.
// Carica un file MSG
MapiMessage mapi = MapiMessage.load(dataDir + "EmbededMessageAsAttachment.msg");

// Mostra gli allegati totali
System.out.println("Total attachments : " + mapi.getAttachments().size());

// Leggi l'allegato come MapiMessage
MapiMessage emb = mapi.getAttachments().get_Item(0).getObjectData().toMapiMessage();

// Visualizza il nome del mittente
System.out.println("Sender Name : " + emb.getSenderName());

// Visualizza oggetto
System.out.println("Subject : " + emb.getSubject());

// Mostra corpo
System.out.println("Body : " + emb.getBody());

// Visualizza le informazioni sul destinatario
System.out.println("Recipients :");

// Scorri la raccolta di destinatari associata all'oggetto MapiMessage
for (int i = 0; i < emb.getRecipients().size(); i++) {
  
  // Impostare un riferimento all'oggetto MapiRecipient
  MapiRecipient rcp = (MapiRecipient) emb.getRecipients().get_Item(i);
  
  // Visualizza l'indirizzo email del destinatario
  System.out.println("\t Email : " + rcp.getEmailAddress());
  
  // Visualizza il nome del destinatario
  System.out.println("\t Name : " + rcp.getDisplayName());
  
  // Visualizza il tipo di destinatario
  System.out.println("\t Recipient Type : " + rcp.getRecipientType());
}

Ottieni una licenza gratuita

Prova l’API senza limitazioni di valutazione richiedendo una licenza temporanea gratuita.

Conclusione

In questo articolo, abbiamo imparato a leggere il contenuto del file MSG di Outlook a livello di codice utilizzando Java. Inoltre, abbiamo visto come leggere ed estrarre allegati da un file MSG. Inoltre, puoi saperne di più su Aspose.Email per l’API Java utilizzando la documentazione. In caso di ambiguità, non esitare a contattarci sul forum.

Guarda anche