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 za pomocą EWS na MS Exchange Server
- Utwórz folder na serwerze MS Exchange
- Utwórz podfolder na serwerze MS Exchange
- Usuń folder na serwerze MS Exchange
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.
- Połącz się z MS Exchange Server i pobierz obiekt klienta EWS w IEWSClient.
- Określ nazwę folderu głównego i folderu, który chcesz utworzyć.
- Utwórz folder przy użyciu metody IEWSClient.createFolder(String, String).
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.
- Połącz się z MS Exchange Server i pobierz obiekt klienta EWS w IEWSClient.
- Określ nazwę folderu głównego i podfolderu.
- Sprawdź, czy folder nadrzędny istnieje, używając metody IEWSClient.folderExists(String, String). Jeśli nie, utwórz go.
- Utwórz podfolder za pomocą metody IEWSClient.createFolder(String, String).
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.
- Połącz się z MS Exchange Server i pobierz obiekt klienta EWS w IEWSClient.
- Sprawdź, czy folder istnieje, używając metody IEWSClient.folderExists(String, String, ExchangeFolderInfo[]).
- Usuń folder za pomocą metody IEWSClient.deleteFolder(String, boolean).
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.