Leggi le email in Java

In alcuni casi, potrebbe essere necessario leggere e analizzare i messaggi di posta elettronica EML o MSG dall’interno delle applicazioni. Per farlo a livello di codice, questo articolo mostra come estrarre informazioni dai messaggi di posta elettronica in Java. In particolare, imparerai come leggere l’oggetto dell’e-mail, a, da, il corpo e le informazioni di intestazione.

API Java per leggere le email

Per leggere i messaggi di posta elettronica, utilizzeremo Aspose.Email for Java. È una potente API che ti consente di creare client di posta elettronica ricchi di funzionalità in Java. Puoi scaricare il JAR dell’API o installarlo utilizzando le seguenti configurazioni 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>21.3</version>
    <classifier>jdk16</classifier>
</dependency>

Leggi un messaggio e-mail utilizzando Java

Di seguito sono riportati i passaggi per leggere un messaggio di posta elettronica in Java.

  • Carica il file e-mail utilizzando la classe MailMessage.
  • Leggi il contenuto dell’e-mail utilizzando l’oggetto MailMessage, ad esempio A, Da, Oggetto, Corpo, ecc.

L’esempio di codice seguente mostra come leggere un messaggio di posta elettronica utilizzando Java.

// Crea un'istanza MailMessage caricando un file Eml
MailMessage message = MailMessage.load("test.eml");

System.out.print("From: ");
// Ottieni le informazioni sul mittente
System.out.println(message.getFrom());
		
System.out.print("To: ");
// Ottieni le informazioni sui destinatari
System.out.println(message.getTo());
		
System.out.print("Subject: ");
// Ottieni il soggetto
System.out.println(message.getSubject());
		
System.out.print("HtmlBody: ");
// Ottieni il corpo HTML
System.out.println(message.getHtmlBody());
		
System.out.print("TextBody: ");
// Ottiene il corpo del testo
System.out.println(message.getTextBody());
		
System.out.print("HtmlBodyText: ");
// Ottiene il corpo del testo from HTML
System.out.println(message.getHtmlBodyText());

Estrai il corpo dell’email come testo normale in Java

Puoi anche leggere un’e-mail ed estrarne il corpo come testo normale anziché HTML. Di seguito sono riportati i passaggi per eseguire questa operazione.

L’esempio di codice seguente mostra come estrarre il corpo dell’e-mail come testo normale in Java.

// Carica messaggio e-mail
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

// Stampa messaggio di posta elettronica
System.out.println("Body with URL: " + body_with_url);
System.out.println("Body without URL: " + body_without_url);

Estrai le informazioni di intestazione da un’e-mail in Java

Aspose.Email per Java consente inoltre di leggere le informazioni di intestazione di un messaggio di posta elettronica. Di seguito sono riportati i passaggi per eseguire questa operazione.

L’esempio di codice seguente mostra come leggere l’intestazione del messaggio di posta elettronica utilizzando Java.

// Crea un'istanza MailMessage caricando un file EML
MailMessage message = MailMessage.load("test.eml");

// Stampa tutte le intestazioni
System.out.println("Printing all Headers:\n\n");
for (int i=0; i< message.getHeaders().size(); i++)
	System.out.println(message.getHeaders().get(i));

Decodifica le intestazioni e-mail in Java

Puoi anche decodificare le intestazioni delle e-mail utilizzando i passaggi seguenti.

L’esempio di codice seguente mostra come decodificare un valore di intestazione e-mail in Java.

// Carica messaggio e-mail
MailMessage mail = MailMessage.load("test.eml");

// Ottieni il valore decodificato dall'intestazione
String decodedValue = mail.getHeaders().getDecodedValue("Thread-Topic");

// Stampa il valore
System.out.println(decodedValue);

Ottieni una licenza API gratuita

Puoi richiedere una licenza temporanea gratuita per utilizzare l’API senza limitazioni di valutazione.

Dimostrazione dal vivo

Conclusione

In questo articolo, hai imparato a leggere i messaggi di posta elettronica utilizzando Java. Inoltre, hai visto come estrarre le informazioni di intestazione da un messaggio di posta elettronica. Puoi esplorare di più sull’API di posta elettronica Java utilizzando la documentazione. Inoltre, puoi contattarci tramite il nostro forum in caso di domande.

Guarda anche