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ů
- Přečtěte si e-mailovou zprávu pomocí Java
- Extrahujte tělo e-mailu jako prostý text
- Extrahujte informace o záhlaví z e-mailu
- Dekódujte hodnotu záhlaví e-mailu
- Získejte bezplatnou licenci API
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.
- Načtěte e-mailový soubor pomocí třídy MailMessage.
- Extrahujte tělo e-mailu pomocí metody MailMessage.getHtmlBodyText(boolean).
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.
- Načtěte e-mailový soubor pomocí třídy MailMessage.
- Projděte sbírku hlaviček e-mailu pomocí metody MailMessage.getHeaders().
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ů.
- Načtěte e-mailový soubor pomocí třídy MailMessage.
- Získejte dekódovanou hodnotu hlavičky e-mailu pomocí metody MailMessage.getHeaders().getDecodedValue(název řetězce).
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.