Crea ed elimina cartelle su MS Exchange Server in Java

Microsoft Exchange Server conserva le e-mail in diverse cartelle come Posta in arrivo, Posta in uscita, ecc. Inoltre, ti consente di creare le tue cartelle o sottocartelle all’interno delle cartelle predefinite. In alcuni casi, potrebbe essere necessario creare cartelle personalizzate su Exchange Server a livello di codice. A tal fine, questo articolo illustra come creare o eliminare cartelle o sottocartelle con EWS su MS Exchange Server in Java.

API Java per creare cartelle su MS Exchange Server

Per lavorare con le cartelle su MS Exchange Server utilizzando EWS, utilizzeremo Aspose.Email per Java. È una potente API per lavorare con i servizi di Exchange Server dall’interno delle applicazioni Java. Puoi scaricare l’API o installarla utilizzando le seguenti configurazioni Maven.

Archivio:

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

Dipendenza:

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

Crea una cartella su MS Exchange Server in Java

Di seguito sono riportati i passaggi per creare una cartella su MS Exchange Server in Java.

L’esempio di codice seguente mostra come creare una cartella su MS Exchange Server con EWS in Java.

// Crea un'istanza della classe EWSClient fornendo le credenziali
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd",
		"domain");

// Ottieni URI posta in arrivo (per creare una cartella nella posta in arrivo)
String inbox = client.getMailboxInfo().getInboxUri();

// Specifica il nome della cartella
String folderName1 = "EMAILNET-35054";

try {
	// Creare una cartella
	client.setUseSlashAsFolderSeparator(true);
	client.createFolder(inbox, folderName1);
} catch (Exception e) {
	// Fare qualcosa
}

Crea una sottocartella su MS Exchange Server in Java

Per creare una sottocartella, dovresti prima controllare se la cartella principale esiste o meno. In tal caso, crea semplicemente la sottocartella, altrimenti crea prima la cartella principale. I passaggi seguenti mostrano come creare una sottocartella su MS Exchange Server in Java.

L’esempio di codice seguente mostra come creare una sottocartella su MS Exchange Server in Java.

// Crea un'istanza della classe EWSClient fornendo le credenziali
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");

// Ottieni URI posta in arrivo (per creare una cartella nella posta in arrivo)
String inbox = client.getMailboxInfo().getInboxUri();

// Specifica il nome della cartella
String folderName1 = "EMAILNET-35054";

// Specificare il nome della sottocartella
String subFolderName = "2015";
String folderName2 = folderName1 + "/" + subFolderName;

try
{			
    // Creare una cartella
    client.setUseSlashAsFolderSeparator(true);
    if (!client.folderExists(inbox, folderName1))
    {
        // Creare una cartella
        client.createFolder(inbox, folderName1);
    }

    // Crea sottocartella
    client.createFolder(inbox, folderName2);
}
catch(Exception e)
{
    // Fare qualcosa
}

Elimina una cartella su MS Exchange Server in Java

Di seguito sono riportati i passaggi per eliminare una cartella su MS Exchange Server in Java.

L’esempio di codice seguente mostra come eliminare una cartella su MS Exchange Server in Java.

// Crea un'istanza della classe EWSClient fornendo le credenziali
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");

// Ottieni URI posta in arrivo (per creare una cartella nella posta in arrivo)
String inbox = client.getMailboxInfo().getInboxUri();

// Specifica il nome della cartella
String folderName1 = "EMAILNET-35054";

ExchangeFolderInfo rootFolderInfo = null;

try
{			
	ExchangeFolderInfo[] referenceToRootFolderInfo = { rootFolderInfo };
	
	// Controlla se la cartella esiste
	boolean outRefCondition0 = client.folderExists(inbox, folderName1, /* out */ referenceToRootFolderInfo);
	rootFolderInfo = referenceToRootFolderInfo[0];

	if (outRefCondition0) {		        
	// Elimina cartella
	client.deleteFolder(rootFolderInfo.getUri(), true);
	}
}
catch(Exception e)
{
    // Fare qualcosa
}

Ottieni una licenza API gratuita

Puoi ottenere una licenza temporanea gratuita per utilizzare Aspose.Email per Java senza limitazioni di valutazione.

Conclusione

In questo articolo hai imparato come lavorare con le cartelle su Microsoft Exchange Server con EWS in Java. Hai visto come creare ed eliminare una cartella particolare su MS Exchange Server a livello di codice in Java. Inoltre, puoi saperne di più su Aspose.Email per Java dalla documentazione. In caso aveste domande, potete pubblicarle nel nostro forum.

Guarda anche