Aspose.Email для Java позволяет вам работать со службами Microsoft Exchange Server, такими как электронная почта, управление контактами, ведение календаря и т. д. В предыдущем сообщении вы видели как программно читать электронные письма с MS Exchange Server из ваших Java-приложений. Однако в некоторых случаях вам может потребоваться переместить электронные письма из одной папки в другую на сервере Exchange. В этой статье вы узнаете, как перемещать электронные письма в определенную папку на сервере MS Exchange в java.
- API Java для перемещения электронной почты на сервере Microsoft Exchange
- Переместить существующую электронную почту в папку на сервере MS Exchange
- Переместить новую электронную почту в папку на сервере MS Exchange
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.
- Сначала инициализируйте объект IEWSClient, используя имя пользователя, пароль, домен и URI.
- Затем получите список сообщений электронной почты в объекте ExchangeMessageInfoCollection, используя метод IEWSClient.listMessages(IEWSClient.getMailboxInfo().getInboxUri()).
- После этого просмотрите каждое сообщение ExchangeMessageInfo и отфильтруйте нужные.
- Затем получите URI сообщения электронной почты, которое нужно переместить, используя метод ExchangeMessageInfo.getUniqueUri().
- Наконец, переместите сообщение электронной почты с помощью метода IEWSClient.copyItem(String URI, IEWSClient.getMailboxInfo().getOutboxUri()).
В следующем примере кода показано, как переместить электронное письмо в папку на сервере 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. Ниже приведены шаги для выполнения этой операции.
- Сначала инициализируйте объект IEWSClient, используя имя пользователя, пароль, домен и URI.
- Затем создайте новое сообщение, используя класс MailMessage.
- После этого получите URI сообщения электронной почты, возвращенный методом IEWSClient.appendMessage(MailMessage).
- Наконец, переместите сообщение электронной почты с помощью метода IEWSClient.copyItem(String URI, IEWSClient.getMailboxInfo().getOutboxUri()).
В следующем примере кода показано, как переместить новое сообщение электронной почты в папку на сервере 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. Также вы можете задать свои вопросы через наш форум.