Twórz i usuwaj foldery na MS Exchange Server w Javie

Microsoft Exchange Server przechowuje wiadomości e-mail w różnych folderach, takich jak skrzynka odbiorcza, skrzynka nadawcza itp. Ponadto umożliwia tworzenie własnych folderów lub podfolderów w predefiniowanych folderach. W niektórych przypadkach może być konieczne programowe utworzenie folderów niestandardowych na serwerze Exchange. Aby to osiągnąć, w tym artykule opisano, jak tworzyć lub usuwać foldery lub podfoldery za pomocą EWS na MS Exchange Server w Javie.

Java API do tworzenia folderów na MS Exchange Server

Do pracy z folderami na MS Exchange Server przy użyciu EWS użyjemy Aspose.Email for Java. Jest to potężne API do pracy z usługami Exchange Server z poziomu aplikacji Java. Możesz pobrać interfejs API lub zainstalować go przy użyciu następujących konfiguracji Mavena.

Magazyn:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>

Zależność:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-email</artifactId>
    <version>22.2</version>
    <classifier>jdk16</classifier>
</dependency>

Utwórz folder na MS Exchange Server w Javie

Poniżej przedstawiono kroki tworzenia folderu na MS Exchange Server w Javie.

Poniższy przykładowy kod pokazuje, jak utworzyć folder na MS Exchange Server z EWS w Javie.

// Utwórz instancję klasy EWSClient, podając poświadczenia
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd",
		"domain");

// Uzyskaj identyfikator URI skrzynki odbiorczej (aby utworzyć folder w skrzynce odbiorczej)
String inbox = client.getMailboxInfo().getInboxUri();

// Określ nazwę folderu
String folderName1 = "EMAILNET-35054";

try {
	// Utwórz folder
	client.setUseSlashAsFolderSeparator(true);
	client.createFolder(inbox, folderName1);
} catch (Exception e) {
	// Zrób coś
}

Utwórz podfolder na MS Exchange Server w Javie

Aby utworzyć podfolder, musisz najpierw sprawdzić, czy folder nadrzędny istnieje, czy nie. Jeśli tak, po prostu utwórz podfolder, w przeciwnym razie najpierw utwórz folder nadrzędny. Poniższe kroki pokazują, jak utworzyć podfolder na MS Exchange Server w Javie.

Poniższy przykładowy kod pokazuje, jak utworzyć podfolder na serwerze MS Exchange Server w Javie.

// Utwórz instancję klasy EWSClient, podając poświadczenia
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");

// Uzyskaj identyfikator URI skrzynki odbiorczej (aby utworzyć folder w skrzynce odbiorczej)
String inbox = client.getMailboxInfo().getInboxUri();

// Określ nazwę folderu
String folderName1 = "EMAILNET-35054";

// Określ nazwę podfolderu
String subFolderName = "2015";
String folderName2 = folderName1 + "/" + subFolderName;

try
{			
    // Utwórz folder
    client.setUseSlashAsFolderSeparator(true);
    if (!client.folderExists(inbox, folderName1))
    {
        // Utwórz folder
        client.createFolder(inbox, folderName1);
    }

    // Utwórz podfolder
    client.createFolder(inbox, folderName2);
}
catch(Exception e)
{
    // Zrób coś
}

Usuń folder na MS Exchange Server w Javie

Poniżej przedstawiono kroki, aby usunąć folder na MS Exchange Server w Javie.

Poniższy przykładowy kod pokazuje, jak usunąć folder na MS Exchange Server w Javie.

// Utwórz instancję klasy EWSClient, podając poświadczenia
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");

// Uzyskaj identyfikator URI skrzynki odbiorczej (aby utworzyć folder w skrzynce odbiorczej)
String inbox = client.getMailboxInfo().getInboxUri();

// Określ nazwę folderu
String folderName1 = "EMAILNET-35054";

ExchangeFolderInfo rootFolderInfo = null;

try
{			
	ExchangeFolderInfo[] referenceToRootFolderInfo = { rootFolderInfo };
	
	// Sprawdź, czy folder istnieje
	boolean outRefCondition0 = client.folderExists(inbox, folderName1, /* out */ referenceToRootFolderInfo);
	rootFolderInfo = referenceToRootFolderInfo[0];

	if (outRefCondition0) {		        
	// Usunięty folder
	client.deleteFolder(rootFolderInfo.getUri(), true);
	}
}
catch(Exception e)
{
    // Zrób coś
}

Uzyskaj bezpłatną licencję API

Możesz uzyskać darmową tymczasową licencję na korzystanie z Aspose.Email for Java bez ograniczeń ewaluacyjnych.

Wniosek

W tym artykule nauczyłeś się, jak pracować z folderami na Microsoft Exchange Server z EWS w Javie. Widziałeś, jak programowo tworzyć i usuwać określony folder na MS Exchange Server w Javie. Ponadto możesz dowiedzieć się więcej o Aspose.Email dla Javy z dokumentacji. Jeśli masz jakieś pytania, możesz opublikować je na naszym forum.

Zobacz też