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#.
- API C# Exchange Server
- Conecte-se ao MS Exchange Server
- Leia e-mails do Exchange Server usando o EWS
- Ler e-mails do Exchange Server usando IMAP
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.
- Use a classe NetworkCredential para definir credenciais, incluindo nome de usuário, senha e domínio.
- Obtenha o objeto IEWSClient retornado pelo método EWSClient.GetEWSClient(String, ICredentials).
- Use o objeto IEWSClient para realizar outras operações.
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.
- 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.
- Selecione uma pasta como caixa de entrada, enviada, etc usando o método ImapClient.SelectFolder().
- Use o método ImapClient.ListMessages() para obter a coleção de e-mail.
- Percorra a coleção de e-mails para acessar cada mensagem.
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.