Microsoft Exchange Server 是提供电子邮件、日历、联系人管理和其他协作服务的邮件服务器。它可以从您的 Web 或桌面应用程序中轻松连接和访问。因此,您可以与 Exchange Server 通信并访问电子邮件、联系人、日历等。在本文中,您将学习如何连接到 MS Exchange Server 并使用 Java 阅读电子邮件。

用于 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 Web 服务 (EWS)
  • 使用 Internet 消息访问协议 (IMAP)

在 Java 中使用 EWS 连接到 Exchange Server

以下是通过 EWS 连接到 Exchange Server 的步骤。

以下代码示例显示了如何使用 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 Server 的步骤。

  • 创建 ImapClient 类的实例,并使用地址、端口、用户名和密码对其进行初始化。
  • 使用 ImapClient 对象访问消息、联系人等。

以下代码示例显示如何使用 IMAP 连接到 Exchange Sever。

// 使用 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 读取电子邮件的步骤。

以下代码示例显示了如何通过 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());

// 遍历集合以获取消息 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 读取电子邮件的步骤。

以下代码示例展示了如何使用 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。您可以使用 documentation 探索更多关于 Aspose.Email for Java 的信息。如果您有任何问题或疑问,请随时通过我们的 论坛 告诉我们。

也可以看看

使用 Java 创建和发送 Outlook 电子邮件用 Python 连接到 IMAP 服务器用 Java 连接到 POP3 服务器
Python连接SMTP服务器使用 C# 在 MS Exchange Server 上创建和删除文件夹用 Java 在 MS Exchange Server 上创建和删除文件夹
在 C# 中使用 Microsoft Graph API 创建和发送消息在 Java 中使用 Microsoft Graph API 创建和发送消息在 Java 中使用 Microsoft Graph API 创建和更新文件夹
在 C# .NET 中创建 Exchange 分发列表用 Java 创建 Exchange 分发列表用 Java 创建 MS Outlook 分发列表
用 Java 创建 MS Outlook 分发列表在 Python 中创建 MS Outlook 分发列表在 Python 中创建 MS Outlook 任务
在 C# 中创建、更新或删除 Google 日历用 Java 创建、更新或删除 Google 日历使用 C# 在 MS Exchange Server 上创建、更新或删除任务
[用 Java 在 MS Exchange Server 上创建、更新或删除任务](https://blog.aspose.com/zh/2022/03/11/create-update-or-delete-tasks-on-ms-exchange-server-in -java/)使用 C# 在 Gmail 中创建、更新和删除联系人使用 Java 在 Gmail 中创建、更新和删除联系人