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
- Leggi un messaggio e-mail utilizzando Java
- Estrai il corpo dell’email come testo normale
- Estrai le informazioni di intestazione dall’e-mail
- Decodifica il valore dell’intestazione dell’e-mail
- Ottieni una licenza API gratuita
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.
- Carica il file e-mail utilizzando la classe MailMessage.
- Estrai il corpo dell’email usando il metodo MailMessage.getHtmlBodyText(boolean).
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.
- Carica il file e-mail utilizzando la classe MailMessage.
- Scorri la raccolta di intestazioni dell’e-mail utilizzando il metodo MailMessage.getHeaders().
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.
- Carica il file e-mail utilizzando la classe MailMessage.
- Ottieni il valore dell’intestazione e-mail decodificata utilizzando il metodo MailMessage.getHeaders().getDecodedValue(String name).
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.