Створення та видалення папок на сервері MS Exchange у Java

Microsoft Exchange Server зберігає електронні листи в різних папках, таких як папка “Вхідні”, “Вихідні” тощо. Крім того, він дозволяє створювати власні папки або вкладені папки всередині попередньо визначених папок. У деяких випадках вам може знадобитися створити спеціальні папки на сервері Exchange Server програмно. Щоб досягти цього, у цій статті описано, як створювати або видаляти папки чи вкладені папки за допомогою EWS на сервері MS Exchange Server у Java.

Java API для створення папок на сервері MS Exchange

Для роботи з папками на MS Exchange Server за допомогою EWS ми будемо використовувати Aspose.Email for Java. Це потужний API для роботи зі службами Exchange Server із програм Java. Ви можете завантажити 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.

  • Підключіться до MS Exchange Server і отримайте клієнтський об’єкт EWS у IEWSClient.
  • Вкажіть назву кореневої папки та папки, яку потрібно створити.
  • Створіть папку за допомогою методу IEWSClient.createFolder(String, String).

У наступному прикладі коду показано, як створити папку на сервері MS Exchange Server за допомогою EWS у Java.

// Створіть екземпляр класу EWSClient, надавши облікові дані
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd",
		"domain");

// Отримати URI папки "Вхідні" (для створення папки у папці "Вхідні")
String inbox = client.getMailboxInfo().getInboxUri();

// Вкажіть назву папки
String folderName1 = "EMAILNET-35054";

try {
	// Створити папку
	client.setUseSlashAsFolderSeparator(true);
	client.createFolder(inbox, folderName1);
} catch (Exception e) {
	// Робити щось
}

Створіть вкладену папку на сервері MS Exchange у Java

Щоб створити вкладену папку, спочатку потрібно перевірити, чи існує батьківська папка. Якщо так, просто створіть вкладену папку, інакше спочатку створіть батьківську папку. Наступні кроки демонструють, як створити вкладену папку на сервері MS Exchange Server у Java.

  • Підключіться до MS Exchange Server і отримайте клієнтський об’єкт EWS у IEWSClient.
  • Вкажіть назву кореневої папки та вкладеної папки.
  • Перевірте, чи існує батьківська папка, використовуючи метод IEWSClient.folderExists(String, String). Якщо ні, створіть його.
  • Створіть вкладену папку за допомогою методу IEWSClient.createFolder(String, String).

У наведеному нижче прикладі коду показано, як створити вкладену папку на сервері MS Exchange Server у Java.

// Створіть екземпляр класу EWSClient, надавши облікові дані
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");

// Отримати URI папки "Вхідні" (для створення папки у папці "Вхідні")
String inbox = client.getMailboxInfo().getInboxUri();

// Вкажіть назву папки
String folderName1 = "EMAILNET-35054";

// Вкажіть назву вкладеної папки
String subFolderName = "2015";
String folderName2 = folderName1 + "/" + subFolderName;

try
{			
    // Створити папку
    client.setUseSlashAsFolderSeparator(true);
    if (!client.folderExists(inbox, folderName1))
    {
        // Створити папку
        client.createFolder(inbox, folderName1);
    }

    // Створити вкладену папку
    client.createFolder(inbox, folderName2);
}
catch(Exception e)
{
    // Робити щось
}

Видалити папку на сервері MS Exchange у Java

Нижче наведено кроки для видалення папки на сервері MS Exchange Server у Java.

У наступному прикладі коду показано, як видалити папку на сервері MS Exchange Server у Java.

// Створіть екземпляр класу EWSClient, надавши облікові дані
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");

// Отримати URI папки "Вхідні" (щоб створити папку в папці "Вхідні")
String inbox = client.getMailboxInfo().getInboxUri();

// Вкажіть назву папки
String folderName1 = "EMAILNET-35054";

ExchangeFolderInfo rootFolderInfo = null;

try
{			
	ExchangeFolderInfo[] referenceToRootFolderInfo = { rootFolderInfo };
	
	// Перевірте, чи існує папка
	boolean outRefCondition0 = client.folderExists(inbox, folderName1, /* out */ referenceToRootFolderInfo);
	rootFolderInfo = referenceToRootFolderInfo[0];

	if (outRefCondition0) {		        
	// Видалити папку
	client.deleteFolder(rootFolderInfo.getUri(), true);
	}
}
catch(Exception e)
{
    // Робити щось
}

Отримайте безкоштовну ліцензію API

Ви можете отримати безкоштовну тимчасову ліцензію на використання Aspose.Email for Java без оціночних обмежень.

Висновок

У цій статті ви дізналися, як працювати з папками на Microsoft Exchange Server за допомогою EWS у Java. Ви бачили, як створити та видалити певну папку на MS Exchange Server програмним шляхом у Java. Крім того, ви можете дізнатися більше про Aspose.Email for Java з документації. Якщо у вас виникнуть запитання, ви можете опублікувати їх на нашому форумі.

Дивись також