Läs e-postmeddelanden i Java

I vissa fall kan du behöva läsa och analysera EML- eller MSG-e-postmeddelanden från dina applikationer. För att göra det programmatiskt visar den här artikeln hur man extraherar information från e-postmeddelanden i Java. I synnerhet kommer du att lära dig hur du läser e-postmeddelandens ämne, till, från, brödtext och rubrikinformation.

Java API för att läsa e-postmeddelanden

För att läsa e-postmeddelandena använder vi Aspose.Email for Java. Det är ett kraftfullt API som låter dig skapa funktionsrika e-postklienter i Java. Du kan antingen ladda ner API:s JAR eller installera den med följande Maven-konfigurationer.

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

Läs ett e-postmeddelande med Java

Följande är stegen för att läsa ett e-postmeddelande i Java.

  • Ladda e-postfilen med klassen MailMessage.
  • Läs innehållet i e-postmeddelandet med MailMessage-objektet, såsom Till, Från, Ämne, Bröd, etc.

Följande kodexempel visar hur man läser ett e-postmeddelande med Java.

// Skapa MailMessage-instans genom att ladda en Eml-fil
MailMessage message = MailMessage.load("test.eml");

System.out.print("From: ");
// Få avsändarinformation
System.out.println(message.getFrom());
		
System.out.print("To: ");
// Få information om mottagarna
System.out.println(message.getTo());
		
System.out.print("Subject: ");
// Skaffa ämnet
System.out.println(message.getSubject());
		
System.out.print("HtmlBody: ");
// Hämta HTML-kroppen
System.out.println(message.getHtmlBody());
		
System.out.print("TextBody: ");
// Hämtar textens brödtext
System.out.println(message.getTextBody());
		
System.out.print("HtmlBodyText: ");
// Hämtar textens brödtext from HTML
System.out.println(message.getHtmlBodyText());

Extrahera e-posttext som vanlig text i Java

Du kan också läsa ett e-postmeddelande och extrahera dess brödtext som vanlig text istället för HTML. Följande är stegen för att utföra denna operation.

Följande kodexempel visar hur man extraherar e-posttext som vanlig text i Java.

// Ladda e-postmeddelande
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

// Skriv ut e-postmeddelande
System.out.println("Body with URL: " + body_with_url);
System.out.println("Body without URL: " + body_without_url);

Extrahera rubrikinformation från ett e-postmeddelande i Java

Aspose.Email för Java låter dig också läsa rubrikinformation för ett e-postmeddelande. Följande är stegen för att utföra denna operation.

Följande kodexempel visar hur man läser rubriken på e-postmeddelandet med Java.

// Skapa MailMessage-instans genom att ladda en EML-fil
MailMessage message = MailMessage.load("test.eml");

// Skriv ut alla rubriker
System.out.println("Printing all Headers:\n\n");
for (int i=0; i< message.getHeaders().size(); i++)
	System.out.println(message.getHeaders().get(i));

Avkoda e-postrubriker i Java

Du kan också avkoda e-posthuvudena med följande steg.

Följande kodexempel visar hur man avkodar ett e-posthuvudvärde i Java.

// Ladda e-postmeddelande
MailMessage mail = MailMessage.load("test.eml");

// Få avkodat värde från header
String decodedValue = mail.getHeaders().getDecodedValue("Thread-Topic");

// Skriv ut värdet
System.out.println(decodedValue);

Skaffa en gratis API-licens

Du kan begära en gratis tillfällig licens för att använda API:t utan utvärderingsbegränsningar.

Live-demo

Slutsats

I den här artikeln har du lärt dig hur du läser e-postmeddelanden med Java. Dessutom har du sett hur man extraherar rubrikinformation från ett e-postmeddelande. Du kan utforska mer om Javas e-post-API med dokumentation. Dessutom kan du kontakta oss via vårt forum vid eventuella frågor.

Se även