在 Java 中閱讀電子郵件

在某些情況下,您可能需要從您的應用程序中讀取和解析 EML 或 MSG 電子郵件消息。為了以編程方式執行此操作,本文展示瞭如何使用 Java 從電子郵件消息中提取信息。特別是,您將學習如何閱讀電子郵件的主題、收件人、發件人、正文和標題信息。

用於閱讀電子郵件的 Java API

為了閱讀電子郵件,我們將使用Aspose.Email for Java。它是一個功能強大的 API,可讓您使用 Java 創建功能豐富的電子郵件客戶端。您可以 下載 API 的 JAR 或使用以下 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>

使用 Java 閱讀電子郵件

以下是用 Java 閱讀電子郵件的步驟。

  • 使用 MailMessage 類加載電子郵件文件。
  • 使用 MailMessage 對象讀取電子郵件的內容,例如 To、From、Subject、Body 等。

以下代碼示例顯示瞭如何使用 Java 閱讀電子郵件。

// 通過加載 Eml 文件創建 MailMessage 實例
MailMessage message = MailMessage.load("test.eml");

System.out.print("From: ");
// 獲取發件人信息
System.out.println(message.getFrom());
		
System.out.print("To: ");
// 獲取收件人信息
System.out.println(message.getTo());
		
System.out.print("Subject: ");
// 獲取主題
System.out.println(message.getSubject());
		
System.out.print("HtmlBody: ");
// 獲取 HTML 正文
System.out.println(message.getHtmlBody());
		
System.out.print("TextBody: ");
// 獲取文本正文
System.out.println(message.getTextBody());
		
System.out.print("HtmlBodyText: ");
// 獲取文本正文 from HTML
System.out.println(message.getHtmlBodyText());

在 Java 中將電子郵件正文提取為純文本

您還可以閱讀電子郵件並將其正文提取為純文本而不是 HTML。以下是執行此操作的步驟。

以下代碼示例顯示瞭如何在 Java 中將電子郵件正文提取為純文本。

// 加載電子郵件
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

// 打印電子郵件
System.out.println("Body with URL: " + body_with_url);
System.out.println("Body without URL: " + body_without_url);

用 Java 從電子郵件中提取標頭信息

Aspose.Email for Java 還允許您讀取電子郵件消息的標題信息。以下是執行此操作的步驟。

以下代碼示例顯示瞭如何使用 Java 讀取電子郵件消息的標頭。

// 通過加載 EML 文件創建 MailMessage 實例
MailMessage message = MailMessage.load("test.eml");

// 打印出所有的標題
System.out.println("Printing all Headers:\n\n");
for (int i=0; i< message.getHeaders().size(); i++)
	System.out.println(message.getHeaders().get(i));

用 Java 解碼電子郵件標頭

您還可以使用以下步驟解碼電子郵件標頭。

以下代碼示例顯示瞭如何在 Java 中解碼電子郵件標頭值。

// 加載電子郵件
MailMessage mail = MailMessage.load("test.eml");

// 從標頭中獲取解碼值
String decodedValue = mail.getHeaders().getDecodedValue("Thread-Topic");

// 打印值
System.out.println(decodedValue);

獲取免費的 API 許可證

您可以 申請免費的臨時許可證 以便不受評估限制地使用 API。

現場演示

結論

在本文中,您學習瞭如何使用 Java 閱讀電子郵件。此外,您還了解瞭如何從電子郵件消息中提取標頭信息。您可以使用 文檔 探索有關 Java 電子郵件 API 的更多信息。此外,如有任何疑問,您可以通過我們的論壇 與我們聯繫。

也可以看看