Číst e-maily v Javě

V určitých případech může být nutné číst a analyzovat e-mailové zprávy EML nebo MSG z vašich aplikací. Aby to bylo možné provést programově, tento článek ukazuje, jak extrahovat informace z e-mailových zpráv v Javě. Zejména se naučíte, jak číst informace o předmětu e-mailu, do, od, těle a záhlaví.

Java API pro čtení e-mailů

Ke čtení e-mailových zpráv použijeme Aspose.Email for Java. Jedná se o výkonné API, které vám umožní vytvářet e-mailové klienty s bohatými funkcemi v Javě. JAR API si můžete buď stáhnout, nebo jej nainstalovat pomocí následujících konfigurací 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>

Přečtěte si e-mailovou zprávu pomocí Java

Následují kroky ke čtení e-mailové zprávy v Javě.

  • Načtěte e-mailový soubor pomocí třídy MailMessage.
  • Přečtěte si obsah e-mailu pomocí objektu MailMessage, například Komu, Od, Předmět, Tělo atd.

Následující ukázka kódu ukazuje, jak číst e-mailovou zprávu pomocí Java.

// Vytvořte instanci MailMessage načtením souboru Eml
MailMessage message = MailMessage.load("test.eml");

System.out.print("From: ");
// Získejte informace o odesílateli
System.out.println(message.getFrom());
		
System.out.print("To: ");
// Získejte informace o příjemcích
System.out.println(message.getTo());
		
System.out.print("Subject: ");
// Získejte předmět
System.out.println(message.getSubject());
		
System.out.print("HtmlBody: ");
// Získejte tělo HTML
System.out.println(message.getHtmlBody());
		
System.out.print("TextBody: ");
// Získá tělo textu
System.out.println(message.getTextBody());
		
System.out.print("HtmlBodyText: ");
// Získá tělo textu from HTML
System.out.println(message.getHtmlBodyText());

Extrahujte tělo e-mailu jako prostý text v Javě

Můžete si také přečíst e-mail a extrahovat jeho tělo jako prostý text namísto HTML. Následují kroky k provedení této operace.

Následující ukázka kódu ukazuje, jak extrahovat tělo e-mailu jako prostý text v Javě.

// Načíst e-mailovou zprávu
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

// Vytiskněte e-mailovou zprávu
System.out.println("Body with URL: " + body_with_url);
System.out.println("Body without URL: " + body_without_url);

Extrahujte informace o záhlaví z e-mailu v Javě

Aspose.Email for Java vám také umožňuje číst informace v záhlaví e-mailové zprávy. Následují kroky k provedení této operace.

Následující ukázka kódu ukazuje, jak číst záhlaví e-mailové zprávy pomocí Java.

// Vytvořte instanci MailMessage načtením souboru EML
MailMessage message = MailMessage.load("test.eml");

// Vytiskněte všechna záhlaví
System.out.println("Printing all Headers:\n\n");
for (int i=0; i< message.getHeaders().size(); i++)
	System.out.println(message.getHeaders().get(i));

Dekódujte hlavičky e-mailů v Javě

Pomocí následujících kroků můžete také dekódovat hlavičky e-mailů.

Následující ukázka kódu ukazuje, jak dekódovat hodnotu záhlaví e-mailu v Javě.

// Načíst e-mailovou zprávu
MailMessage mail = MailMessage.load("test.eml");

// Získejte dekódovanou hodnotu z hlavičky
String decodedValue = mail.getHeaders().getDecodedValue("Thread-Topic");

// Vytiskněte hodnotu
System.out.println(decodedValue);

Získejte bezplatnou licenci API

Můžete požádat o bezplatnou dočasnou licenci, abyste mohli používat API bez omezení hodnocení.

Živá ukázka

Závěr

V tomto článku jste se naučili číst e-mailové zprávy pomocí Java. Dále jste viděli, jak extrahovat informace v záhlaví z e-mailové zprávy. Více o Java email API můžete prozkoumat pomocí dokumentace. Kromě toho nás můžete v případě jakýchkoliv dotazů kontaktovat prostřednictvím našeho fóra.

Viz také