在 Java 中将电子邮件移动到 Microsoft Exchange Server 上的文件夹

Aspose.Email for Java 允许您使用 Microsoft Exchange Server 的服务,例如电子邮件、联系人管理、日历等。在 previous post 中,您已经看到如何在 Java 应用程序中以编程方式从 MS Exchange Server 读取电子邮件。但是,在某些情况下,您可能必须将电子邮件从一个文件夹移动到 Exchange Server 上的另一个文件夹。在本文中,您将学习如何在 Java 中将电子邮件移动到 MS Exchange Server 上的特定文件夹。

用于在 Microsoft Exchange Server 上移动电子邮件的 Java API

Aspose.Email for Java 是一个强大的电子邮件 API,无需编写复杂代码即可与 MS Exchange Server 一起使用。在本文中,我们将使用此 API 将电子邮件移动到 MS Exchange Server 中邮箱的特定文件夹。您可以 下载 API 或使用以下 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>22.2</version>
    <classifier>jdk16</classifier>
</dependency>

在 Java 中将电子邮件移动到 MS Exchange Server 上的文件夹

以下是将电子邮件移动到 Java 中 MS Exchange Server 上特定文件夹的步骤。

以下代码示例显示了如何使用 Java 将电子邮件移动到 MS Exchange Server 上的文件夹。

try {
	// 通过提供凭据创建 EWSClient 类的实例
	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) {
		if (msgInfo.getFrom().getAddress().contains("jhon.vick")) {
			String strMessageURI = msgInfo.getUniqueUri();

			// 复制到特定文件夹
			String newMessageUri = client.copyItem(strMessageURI, client.getMailboxInfo().getOutboxUri());
		}
	}
} catch (java.lang.RuntimeException ex) {
	System.out.println(ex.getMessage());
}

将新电子邮件移至 MS Exchange Server 上的文件夹

您还可以将新创建的电子邮件移动到 MS Exchange Server 中的特定文件夹。以下是执行此操作的步骤。

以下代码示例显示如何将新电子邮件移至 MS Exchange Server 中的文件夹。

try {
	// 通过提供凭据创建 EWSClient 类的实例
	IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser",
			"pwd", "domain");

	// 创建新消息
	MailMessage message = new MailMessage("from@domain.com", "to@domain.com",
			"EMAILNET-34997 - " + UUID.randomUUID().toString(),
			"EMAILNET-34997 Exchange: Copy a message and get reference to the new Copy item");

	// 获取 URI
	String messageUri = client.appendMessage(message);

	// 移到文件夹
	String newMessageUri = client.copyItem(messageUri, client.getMailboxInfo().getDeletedItemsUri());
} catch (java.lang.RuntimeException ex) {
	System.out.println(ex.getMessage());
}

获取免费 API 许可证

您可以获得 免费的临时许可证 使用 Aspose.Email for Java,没有评估限制。

结论

在本文中,您学习了如何使用 Java 将电子邮件移动到 Microsoft Exchange Server 中的特定文件夹。此外,您还了解了如何将新创建的电子邮件移动到 Exchange Server 中的特定文件夹。此外,您可以浏览 文档 以阅读有关 Aspose.Email for Java 的更多信息。此外,您可以通过我们的 论坛 提问。

也可以看看