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