Leia e-mails do MS Exchange Server usando C#

Microsoft Exchange Server é uma plataforma que permite gerenciar contatos, e-mails, calendários, agendas e oferece diversos recursos de colaboração. Com o MS Exchange Server, você pode implantar seu próprio servidor de e-mail sem depender de terceiros. O MS Exchange Server também pode ser acessado a partir de sua web, desktop ou aplicativos móveis por meio de serviços web. Assim, você pode executar as operações de correspondência e calendário em seus aplicativos. Neste artigo, você aprenderá como se conectar a um Exchange Server e ler emails usando C#.

C# Exchange Server API - Download gratuito

Aspose.Email for .NET fornece API fácil de usar para trabalhar com o MS Exchange Server. Ele permite que você se conecte ao seu servidor de email usando o Exchange Web Service (EWS) ou o Internet Message Access Protocol (IMAP). Assim que estiver conectado, você poderá acessar os itens em uma caixa de correio em poucos passos. Você pode instalar o Aspose.Email para .NET via NuGet ou download sua DLL.

PM> Install-Package Aspose.Email

Conecte-se a um Exchange Server usando C#

Aspose.Email para .NET fornece duas maneiras de se conectar a uma instância do Exchange Server: EWS e IMAP. As seções a seguir fornecem as etapas de como estabelecer uma conexão usando uma das formas.

Conecte-se a um Exchange Server via EWS

A seguir estão as etapas para se conectar a um MS Exchange Server usando Aspose.Email para .NET.

O exemplo de código a seguir mostra como se conectar ao Exchange Server via EWS usando C#.

// Para exemplos completos e arquivos de dados, acesse https://github.com/aspose-email/Aspose.Email-for-.NET
private static IEWSClient GetExchangeEWSClient()
{
    const string mailboxUri = "https://outlook.office365.com/ews/exchange.asmx";
    const string domain = @"";
    const string username = @"username@ASE305.onmicrosoft.com";
    const string password = @"password";
    NetworkCredential credentials = new NetworkCredential(username, password, domain);
    IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials);
    return client;
}

Conecte-se a um Exchange Server via IMAP

Para se conectar a um Exchange Server via IMAP, certifique-se de que os serviços IMAP estejam habilitados em seu servidor. Uma vez feito, siga as etapas abaixo para se conectar ao Exchange Server.

  • Crie uma instância da classe ImapClient e forneça host, nome de usuário e senha ao seu construtor.
  • Defina as opções de segurança usando a propriedade ImapClient.SecurityOptions.
  • Acesse os itens na caixa de correio usando o objeto ImapClient.

O exemplo de código a seguir mostra como acessar o Exchange Server via IMAP usando C#.

// Conecte-se ao Exchange Server usando a classe ImapClient
ImapClient imapClient = new ImapClient("ex07sp1", "Administrator", "Evaluation1");
imapClient.SecurityOptions = SecurityOptions.Auto;

Leia e-mails do Exchange Server usando EWS em C#

A seguir estão as etapas para ler mensagens de email do Exchange Server usando o EWS.

  • Crie uma instância do IEWSClient.
  • Use o método IEWSClient.ListMessage(String) para acessar a coleção de emails.
  • Percorra a coleção de e-mails para obter detalhes de cada mensagem de e-mail.

O exemplo de código a seguir mostra como ler emails do Exchange Server em C#.

// Para exemplos completos e arquivos de dados, acesse https://github.com/aspose-email/Aspose.Email-for-.NET
// Crie uma instância da classe ExchangeWebServiceClient fornecendo credenciais
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "UserName", "Password");

// Chame o método ListMessages para listar as informações das mensagens da caixa de entrada
ExchangeMessageInfoCollection msgCollection = client.ListMessages(client.MailboxInfo.InboxUri);

// Percorra a coleção para exibir as informações básicas
foreach (ExchangeMessageInfo msgInfo in msgCollection)
{
    Console.WriteLine("Subject: " + msgInfo.Subject);
    Console.WriteLine("From: " + msgInfo.From.ToString());
    Console.WriteLine("To: " + msgInfo.To.ToString());
    Console.WriteLine("Message ID: " + msgInfo.MessageId);
    Console.WriteLine("Unique URI: " + msgInfo.UniqueUri);
}

Ler e-mails do Exchange Server usando IMAP

A seguir estão as etapas para ler emails do Exchange Server usando IMAP.

O exemplo de código a seguir mostra como ler emails do Exchange Server usando IMAP.

// Para exemplos completos e arquivos de dados, acesse https://github.com/aspose-email/Aspose.Email-for-.NET
// Conecte-se ao Exchange Server usando a classe ImapClient
ImapClient imapClient = new ImapClient("ex07sp1", "Administrator", "Evaluation1");
imapClient.SecurityOptions = SecurityOptions.Auto;

// Selecione a pasta Caixa de entrada
imapClient.SelectFolder(ImapFolderInfo.InBox);

// Obter a lista de mensagens
ImapMessageInfoCollection msgCollection = imapClient.ListMessages();
foreach (ImapMessageInfo msgInfo in msgCollection)
{
    Console.WriteLine(msgInfo.Subject);
}
// Desconecte-se do servidor
imapClient.Dispose();

Obtenha uma licença de API gratuita

Você pode experimentar a API sem limitações de avaliação gratuitamente. Obtenha uma licença temporária gratuita agora.

Demonstração ao vivo

Conclusão

Neste artigo, você aprendeu como se conectar ao MS Exchange Server e ler mensagens de email usando C#. Além disso, os exemplos de código mostraram como acessar o Exchange Server usando clientes EWS e IMAP. Você pode explorar mais sobre a API de email C# usando documentação.

Veja também