Microsoft Exchange Server förvarar e-postmeddelanden i olika mappar som inkorg, utkorg, etc. Dessutom låter den dig skapa dina egna mappar eller undermappar i de fördefinierade mapparna. I vissa fall kan du behöva skapa anpassade mappar på Exchange Server programmatiskt. För att åstadkomma det täcker den här artikeln hur man skapar eller tar bort mappar eller undermappar med EWS på MS Exchange Server i Java.
- Java API för att skapa mappar med EWS på MS Exchange Server
- Skapa en mapp på MS Exchange Server
- Skapa en undermapp på MS Exchange Server
- Ta bort en mapp på MS Exchange Server
Java API för att skapa mappar på MS Exchange Server
För att arbeta med mappar på MS Exchange Server med EWS kommer vi att använda Aspose.Email for Java. Det är ett kraftfullt API för att arbeta med Exchange Servers tjänster från Java-applikationer. Du kan antingen ladda ner API:et eller installera det med hjälp av följande Maven-konfigurationer.
Förvar:
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
Beroende:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-email</artifactId>
<version>22.2</version>
<classifier>jdk16</classifier>
</dependency>
Skapa en mapp på MS Exchange Server i Java
Följande är stegen för att skapa en mapp på MS Exchange Server i Java.
- Anslut till MS Exchange Server och hämta EWS-klientobjektet i IEWSClient.
- Ange namnet på rotmappen och mappen du vill skapa.
- Skapa mapp med metoden IEWSClient.createFolder(String, String).
Följande kodexempel visar hur man skapar en mapp på MS Exchange Server med EWS i Java.
// Skapa en instans av klassen EWSClient genom att ge referenser
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd",
"domain");
// Hämta inkorgs-URI (för att skapa mapp i inkorgen)
String inbox = client.getMailboxInfo().getInboxUri();
// Ange mappnamn
String folderName1 = "EMAILNET-35054";
try {
// Skapa mapp
client.setUseSlashAsFolderSeparator(true);
client.createFolder(inbox, folderName1);
} catch (Exception e) {
// Göra någonting
}
Skapa en undermapp på MS Exchange Server i Java
För att skapa en undermapp måste du först kontrollera om den överordnade mappen finns eller inte. Om det gör det, skapa helt enkelt undermappen, annars skapa den överordnade mappen först. Följande steg visar hur man skapar en undermapp på MS Exchange Server i Java.
- Anslut till MS Exchange Server och hämta EWS-klientobjektet i IEWSClient.
- Ange namnet på rotmappen och undermappen.
- Kontrollera om den överordnade mappen finns med metoden IEWSClient.folderExists(String, String). Om det inte gör det, skapa en.
- Skapa undermapp med metoden IEWSClient.createFolder(String, String).
Följande kodexempel visar hur man skapar en undermapp på MS Exchange Server i Java.
// Skapa en instans av klassen EWSClient genom att ge referenser
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
// Hämta inkorgs-URI (för att skapa mapp i inkorgen)
String inbox = client.getMailboxInfo().getInboxUri();
// Ange mappnamn
String folderName1 = "EMAILNET-35054";
// Ange namnet på undermappen
String subFolderName = "2015";
String folderName2 = folderName1 + "/" + subFolderName;
try
{
// Skapa mapp
client.setUseSlashAsFolderSeparator(true);
if (!client.folderExists(inbox, folderName1))
{
// Skapa mapp
client.createFolder(inbox, folderName1);
}
// Skapa undermapp
client.createFolder(inbox, folderName2);
}
catch(Exception e)
{
// Göra någonting
}
Ta bort en mapp på MS Exchange Server i Java
Följande är stegen för att ta bort en mapp på MS Exchange Server i Java.
- Anslut till MS Exchange Server och hämta EWS-klientobjektet i IEWSClient.
- Kontrollera om mappen finns med metoden IEWSClient.folderExists(String, String, ExchangeFolderInfo[]).
- Ta bort mapp med metoden IEWSClient.deleteFolder(String, boolean).
Följande kodexempel visar hur man tar bort en mapp på MS Exchange Server i Java.
// Skapa en instans av klassen EWSClient genom att ge referenser
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
// Hämta inkorgs-URI (för att skapa mapp i inkorgen)
String inbox = client.getMailboxInfo().getInboxUri();
// Ange mappnamn
String folderName1 = "EMAILNET-35054";
ExchangeFolderInfo rootFolderInfo = null;
try
{
ExchangeFolderInfo[] referenceToRootFolderInfo = { rootFolderInfo };
// Kontrollera om mappen finns
boolean outRefCondition0 = client.folderExists(inbox, folderName1, /* out */ referenceToRootFolderInfo);
rootFolderInfo = referenceToRootFolderInfo[0];
if (outRefCondition0) {
// Ta bort mapp
client.deleteFolder(rootFolderInfo.getUri(), true);
}
}
catch(Exception e)
{
// Göra någonting
}
Skaffa en gratis API-licens
Du kan få en gratis temporär licens för att använda Aspose.Email för Java utan utvärderingsbegränsningar.
Slutsats
I den här artikeln har du lärt dig hur du arbetar med mappar på Microsoft Exchange Server med EWS i Java. Du har sett hur man skapar och tar bort en viss mapp på MS Exchange Server programmatiskt i Java. Dessutom kan du lära dig mer om Aspose.Email för Java från dokumentationen. Om du skulle ha några frågor kan du skicka dem till vårt forum.