Переместить электронную почту в папку на сервере Microsoft Exchange в Java

Aspose.Email для Java позволяет вам работать со службами Microsoft Exchange Server, такими как электронная почта, управление контактами, ведение календаря и т. д. В предыдущем сообщении вы видели как программно читать электронные письма с MS Exchange Server из ваших Java-приложений. Однако в некоторых случаях вам может потребоваться переместить электронные письма из одной папки в другую на сервере Exchange. В этой статье вы узнаете, как перемещать электронные письма в определенную папку на сервере MS Exchange в java.

API Java для перемещения электронной почты на сервере Microsoft Exchange

Aspose.Email для 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>

Переместить электронную почту в папку на сервере MS Exchange в Java

Ниже приведены шаги для перемещения электронной почты в определенную папку на сервере MS Exchange в Java.

В следующем примере кода показано, как переместить электронное письмо в папку на сервере MS Exchange в Java.

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

Вы также можете переместить вновь созданное электронное письмо в определенную папку на сервере MS Exchange. Ниже приведены шаги для выполнения этой операции.

В следующем примере кода показано, как переместить новое сообщение электронной почты в папку на сервере MS Exchange.

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 для Java без ограничений на пробную версию.

Вывод

В этой статье вы узнали, как перемещать электронные письма в определенную папку на сервере Microsoft Exchange Server с помощью Java. Кроме того, вы видели, как переместить только что созданное сообщение электронной почты в определенную папку на сервере Exchange. Кроме того, вы можете изучить документацию, чтобы узнать больше об Aspose.Email для Java. Также вы можете задать свои вопросы через наш форум.

Смотрите также