Criar e excluir pastas no MS Exchange Server em Java

O Microsoft Exchange Server mantém os emails em diferentes pastas, como caixa de entrada, caixa de saída, etc. Além disso, permite que você crie suas próprias pastas ou subpastas dentro das pastas predefinidas. Em alguns casos, talvez seja necessário criar pastas personalizadas no Exchange Server programaticamente. Para fazer isso, este artigo aborda como criar ou excluir pastas ou subpastas com EWS no MS Exchange Server em Java.

API Java para criar pastas no MS Exchange Server

Para trabalhar com pastas no MS Exchange Server usando o EWS, utilizaremos Aspose.Email for Java. É uma API poderosa para trabalhar com os serviços do Exchange Server a partir de aplicativos Java. Você pode baixar a API ou instalá-la usando as seguintes configurações do Maven.

Repositório:

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

Dependência:

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

Crie uma pasta no MS Exchange Server em Java

A seguir estão as etapas para criar uma pasta no MS Exchange Server em Java.

O exemplo de código a seguir mostra como criar uma pasta no MS Exchange Server com EWS em Java.

// Crie uma instância da classe EWSClient fornecendo credenciais
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd",
		"domain");

// Obter URI da caixa de entrada (para criar pasta na caixa de entrada)
String inbox = client.getMailboxInfo().getInboxUri();

// Especifique o nome da pasta
String folderName1 = "EMAILNET-35054";

try {
	// Criar pasta
	client.setUseSlashAsFolderSeparator(true);
	client.createFolder(inbox, folderName1);
} catch (Exception e) {
	// Faça alguma coisa
}

Crie uma subpasta no MS Exchange Server em Java

Para criar uma subpasta, primeiro você precisa verificar se a pasta pai existe ou não. Se isso acontecer, basta criar a subpasta, senão crie a pasta pai primeiro. As etapas a seguir demonstram como criar uma subpasta no MS Exchange Server em Java.

O exemplo de código a seguir mostra como criar uma subpasta no MS Exchange Server em Java.

// Crie uma instância da classe EWSClient fornecendo credenciais
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");

// Obter URI da caixa de entrada (para criar pasta na caixa de entrada)
String inbox = client.getMailboxInfo().getInboxUri();

// Especifique o nome da pasta
String folderName1 = "EMAILNET-35054";

// Especifique o nome da subpasta
String subFolderName = "2015";
String folderName2 = folderName1 + "/" + subFolderName;

try
{			
    // Criar pasta
    client.setUseSlashAsFolderSeparator(true);
    if (!client.folderExists(inbox, folderName1))
    {
        // Criar pasta
        client.createFolder(inbox, folderName1);
    }

    // Criar subpasta
    client.createFolder(inbox, folderName2);
}
catch(Exception e)
{
    // Faça alguma coisa
}

Excluir uma pasta no MS Exchange Server em Java

A seguir estão as etapas para excluir uma pasta no MS Exchange Server em Java.

O exemplo de código a seguir mostra como excluir uma pasta no MS Exchange Server em Java.

// Crie uma instância da classe EWSClient fornecendo credenciais
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");

// Obter URI da caixa de entrada (para criar pasta na caixa de entrada)
String inbox = client.getMailboxInfo().getInboxUri();

// Especifique o nome da pasta
String folderName1 = "EMAILNET-35054";

ExchangeFolderInfo rootFolderInfo = null;

try
{			
	ExchangeFolderInfo[] referenceToRootFolderInfo = { rootFolderInfo };
	
	// Verifique se a pasta existe
	boolean outRefCondition0 = client.folderExists(inbox, folderName1, /* out */ referenceToRootFolderInfo);
	rootFolderInfo = referenceToRootFolderInfo[0];

	if (outRefCondition0) {		        
	// Excluir pasta
	client.deleteFolder(rootFolderInfo.getUri(), true);
	}
}
catch(Exception e)
{
    // Faça alguma coisa
}

Obtenha uma licença de API gratuita

Você pode obter uma licença temporária gratuita para usar o Aspose.Email for Java sem limitações de avaliação.

Conclusão

Neste artigo, você aprendeu a trabalhar com pastas no Microsoft Exchange Server com EWS em Java. Você viu como criar e excluir uma pasta específica no MS Exchange Server programaticamente em Java. Além disso, você pode aprender mais sobre Aspose.Email para Java na documentação. Caso você tenha alguma dúvida, você pode postá-la em nosso fórum.

Veja também