Criar e excluir pastas no MS Exchange Server em C#

No Microsoft Exchange Server, os e-mails são organizados em diferentes pastas, como caixa de entrada, caixa de saída, etc. Além disso, você pode criar suas próprias pastas ou subpastas com base em suas necessidades. Ao trabalhar com o MS Exchange Server, pode ser necessário criar pastas personalizadas programaticamente. Neste artigo, você aprenderá como criar pastas ou subpastas com EWS no MS Exchange Server em C# .NET. Além disso, abordaremos como excluir uma pasta no Exchange Server.

API C# .NET para criar pastas no MS Exchange Server

Para gerenciar pastas com EWS no MS Exchange Server, utilizaremos Aspose.Email for .NET. A API facilita bastante o trabalho com os serviços do Exchange Server a partir de aplicativos .NET. Você pode baixar a DLL da API ou instalá-la de NuGet usando o comando a seguir.

PM> Install-Package Aspose.Email

Crie uma pasta no MS Exchange Server em C#

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

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

// 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.MailboxInfo.InboxUri;

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

try
{
    // Criar pasta
    client.UseSlashAsFolderSeparator = true;
    client.CreateFolder(client.MailboxInfo.InboxUri, folderName1);
}
catch
{
    // Faça alguma coisa
}

Crie uma subpasta no MS Exchange Server em C#

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 C#.

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

// 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
string inbox = client.MailboxInfo.InboxUri;

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

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

ExchangeFolderInfo rootFolderInfo = null; 

try
{
    client.UseSlashAsFolderSeparator = true;
    if (!client.FolderExists(inbox, folderName1, out rootFolderInfo))
    {
        // Criar pasta
        rootFolderInfo = client.CreateFolder(inbox, folderName1);
    }

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

Excluir uma pasta no MS Exchange Server em C#

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

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

// 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
string inbox = client.MailboxInfo.InboxUri;

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

ExchangeFolderInfo rootFolderInfo = null;

try
{
    // Verifique se a pasta existe
    if (client.FolderExists(inbox, folderName1, out rootFolderInfo))
    {
        // Excluir pasta
        client.DeleteFolder(rootFolderInfo.Uri, true);
    }
}
catch
{
    // 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 para .NET sem limitações de avaliação.

Conclusão

Neste artigo, você aprendeu como trabalhar com pastas no Microsoft Exchange Server com EWS em C#. Com a ajuda de exemplos de código, você viu como criar e excluir uma pasta específica no MS Exchange Server programaticamente em C#. Além disso, você pode explorar a documentação para ler mais sobre o Aspose.Email para .NET. Além disso, você pode fazer suas perguntas através do nosso fórum.

Veja também