Microsoft Exchange Server 是一個郵件服務器,提供電子郵件、日曆、聯繫人管理和其他協作服務。它可以很容易地從您的網絡或桌面應用程序中連接和訪問。因此,您可以與 Exchange Server 通信並訪問電子郵件、聯繫人、日曆等。在本文中,您將學習如何連接到 MS Exchange Server 並使用 Java 閱讀電子郵件。
- 用於 MS Exchange Server 的 Java API
- 用 Java 連接到 MS Exchange Server
- 在 Java 中讀取來自 MS Exchange Server 的電子郵件
- 獲取免費的 API 許可證
用於 MS Exchange Server 的 Java API
Aspose.Email for Java 是一個強大的 API,可為您提供範圍廣泛的電子郵件管理功能。它允許您從 Java 應用程序中實現功能豐富的電子郵件客戶端。此外,API 允許您從 MS Exchange Server 訪問文件夾、子文件夾、電子郵件、日曆、聯繫人等。您可以 下載 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.2</version>
<classifier>jdk16</classifier>
</dependency>
用 Java 連接到 MS Exchange Server
為了使用 MS Exchange Server,您需要先建立連接。 Aspose.Email for Java 提供了以下連接到 Exchange Server 的方法。
- 使用 Exchange 網絡服務 (EWS)
- 使用 Internet 消息訪問協議 (IMAP)
在 Java 中使用 EWS 連接到 Exchange Server
以下是通過 EWS 連接到 Exchange Server 的步驟。
- 創建 IEWSClient 類的實例。
- 使用 EWSClient.getEWSClient(String, String, String, String) 方法初始化 EWSClient 對象。
以下代碼示例顯示如何使用 Java 中的 EWS 連接到 MS Exchange Server。
// 創建 IEWSClient 類的實例以連接到 Exchange Server
IEWSClient client = EWSClient.getEWSClient("https://exchange.domain.com/ews/Exchange.asmx/", "user", "password", "");
在 Java 中使用 IMAP 連接到 Exchange Server
在嘗試使用 IMAP 連接到 Exchange Server 之前,請確保您已啟用 IMAP 服務。完成後,以下是使用 IMAP 連接到 Exchange 服務器的步驟。
- 創建 ImapClient 類的實例並使用地址、端口、用戶名和密碼對其進行初始化。
- 使用 ImapClient 對象訪問消息、聯繫人等。
以下代碼示例顯示如何使用 IMAP 連接到 Exchange Server。
// 使用 ImapClient 類連接到 Exchange Server
ImapClient imapClient = new ImapClient("imap.gmail.com", 993, "username", "password");
在 Java 中讀取來自 MS Exchange Server 的電子郵件
連接到 Exchange Server 後,您可以從服務器讀取消息。您可以使用 EWS 或 IMAP 來完成。
使用 EWS 從 MS Exchange Server 讀取電子郵件
以下是使用 EWS 從 Exchange Server 讀取電子郵件的步驟。
- 創建 IEWSClient 類的實例。
- 使用 EWSClient.getEWSClient(String, String, String, String) 方法初始化 EWSClient 對象。
- 使用 EWSClient.listMessages(EWSClient.getMailboxInfo().getInboxUri()) 方法從收件箱獲取消息信息列表到 ExchangeMessageInfoCollection 對象。
- 遍歷集合中的每個 ExchangeMessageInfo 對像以讀取消息。
以下代碼示例顯示如何通過 Java 中的 EWS 從 Exchange Server 讀取消息。
// 通過提供憑據創建 ExchangeWebServiceClient 類的實例
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
// 調用 ListMessages 方法列出收件箱中的消息信息
ExchangeMessageInfoCollection msgCollection = client.listMessages(client.getMailboxInfo().getInboxUri());
// 循環遍歷集合以獲取 Message URI
for (ExchangeMessageInfo msgInfo : msgCollection) {
String strMessageURI = msgInfo.getUniqueUri();
// 現在使用 FetchMessage() 獲取消息詳細信息
MailMessage msg = client.fetchMessage(strMessageURI);
// 顯示消息詳細信息
System.out.println("Subject: " + msg.getSubject());
//Console.WriteLine("HTML 正文:" + msg.HtmlBody);
// 多少個附件
System.out.println("Number of attachments: " + msg.getAttachments().size());
// 列出附件
for (Attachment att : msg.getAttachments()) {
System.out.println("Attachment Name: " + att.getName());
}
}
使用 IMAP 從 MS Exchange Server 讀取電子郵件
以下是使用 IMAP 從 Exchange Server 讀取電子郵件的步驟。
- 創建 ImapClient 類的實例並使用地址、端口、用戶名和密碼對其進行初始化。
- 使用 ImapClient.listMessages() 方法將消息信息列表獲取到 ImapMessageInfoCollection 對像中。
- 遍歷集合中的每個 ImapMessageInfo 對像以閱讀電子郵件。
以下代碼示例顯示瞭如何使用 Java 通過 IMAP 從 Exchange Server 讀取電子郵件。
// 使用 ImapClient 類連接到 Exchange Server
ImapClient imapClient = new ImapClient("imap.gmail.com", 993, "username", "password");
// 選擇收件箱文件夾
imapClient.selectFolder(ImapFolderInfo.IN_BOX);
// 獲取消息列表
ImapMessageInfoCollection msgCollection = imapClient.listMessages();
for (ImapMessageInfo msgInfo : msgCollection) {
System.out.println(msgInfo.getSubject());
}
獲取免費的 API 許可證
您可以通過獲得臨時許可證來試用 Aspose.Email for Java,而沒有評估限制。
現場演示
結論
在本文中,您了解瞭如何使用 Java 連接到 MS Exchange Server 和閱讀電子郵件。此外,您還了解瞭如何使用 EWS 或 IMAP 訪問 MS Exchange Server。您可以使用 文檔 探索更多關於 Aspose.Email for Java 的信息。如果您有任何問題或疑問,請隨時通過我們的 論壇 告訴我們。