Lire les e-mails de MS Exchange Server à l'aide de C#

Microsoft Exchange Server est une plate-forme qui vous permet de gérer des contacts, des e-mails, des calendriers, des horaires et fournit plusieurs fonctionnalités de collaboration. Avec MS Exchange Server, vous pouvez déployer votre propre serveur de messagerie sans dépendre de tiers. MS Exchange Server est également accessible depuis vos applications Web, de bureau ou mobiles via des services Web. Ainsi, vous pouvez effectuer les opérations de mailing et de calandrage dans vos applications. Dans cet article, vous allez apprendre à vous connecter à un serveur Exchange et à lire des e-mails à l’aide de C#.

API du serveur Exchange C# - Téléchargement gratuit

Aspose.Email for .NET fournit une API facile à utiliser pour travailler avec MS Exchange Server. Il vous permet de vous connecter à votre serveur de messagerie en utilisant Exchange Web Service (EWS) ou Internet Message Access Protocol (IMAP). Une fois connecté, vous pouvez accéder aux éléments d’une boîte aux lettres en quelques étapes. Vous pouvez installer Aspose.Email for .NET via NuGet ou télécharger sa DLL.

PM> Install-Package Aspose.Email

Connectez-vous à un serveur Exchange à l’aide de C#

Aspose.Email for .NET propose deux façons de se connecter à une instance d’Exchange Server : EWS et IMAP. Les sections suivantes expliquent comment établir une connexion en utilisant l’une ou l’autre des méthodes.

Connectez-vous à un serveur Exchange via EWS

Voici les étapes pour se connecter à un serveur MS Exchange en utilisant Aspose.Email for .NET.

L’exemple de code suivant montre comment se connecter à Exchange Server via EWS à l’aide de C#.

// Pour des exemples complets et des fichiers de données, rendez-vous sur 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;
}

Connectez-vous à un serveur Exchange via IMAP

Pour vous connecter à un serveur Exchange via IMAP, assurez-vous que les services IMAP sont activés sur votre serveur. Une fois cela fait, suivez les étapes ci-dessous pour vous connecter au serveur Exchange.

  • Créez une instance de la classe ImapClient et fournissez l’hôte, le nom d’utilisateur et le mot de passe à son constructeur.
  • Définissez les options de sécurité à l’aide de la propriété ImapClient.SecurityOptions.
  • Accédez aux éléments de la boîte aux lettres à l’aide de l’objet ImapClient.

L’exemple de code suivant montre comment accéder à Exchange Server via IMAP à l’aide de C#.

// Connectez-vous à Exchange Server à l'aide de la classe ImapClient
ImapClient imapClient = new ImapClient("ex07sp1", "Administrator", "Evaluation1");
imapClient.SecurityOptions = SecurityOptions.Auto;

Lire les e-mails d’Exchange Server à l’aide d’EWS en C#

Voici les étapes pour lire les messages électroniques d’Exchange Server à l’aide d’EWS.

  • Créez une instance de IEWSClient.
  • Utilisez la méthode IEWSClient.ListMessage(String) pour accéder à la collection d’e-mails.
  • Parcourez la collection d’e-mails pour obtenir les détails de chaque e-mail.

L’exemple de code suivant montre comment lire des e-mails à partir d’Exchange Server en C#.

// Pour des exemples complets et des fichiers de données, rendez-vous sur https://github.com/aspose-email/Aspose.Email-for-.NET
// Créer une instance de la classe ExchangeWebServiceClient en donnant des informations d'identification
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "UserName", "Password");

// Appelez la méthode ListMessages pour répertorier les informations sur les messages de la boîte de réception
ExchangeMessageInfoCollection msgCollection = client.ListMessages(client.MailboxInfo.InboxUri);

// Parcourez la collection pour afficher les informations de base
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);
}

Lire les e-mails du serveur Exchange à l’aide d’IMAP

Voici les étapes pour lire les e-mails d’Exchange Server à l’aide d’IMAP.

  • Créez une instance de la classe ImapClient et fournissez l’hôte, le nom d’utilisateur et le mot de passe à son constructeur.
  • Définissez les options de sécurité à l’aide de la propriété ImapClient.SecurityOptions.
  • Sélectionnez un dossier tel que boîte de réception, envoyé, etc. à l’aide de la méthode ImapClient.SelectFolder().
  • Utilisez la méthode ImapClient.ListMessages() pour obtenir la collection d’e-mails.
  • Parcourez la collection d’e-mails pour accéder à chaque message.

L’exemple de code suivant montre comment lire des e-mails à partir d’Exchange Server à l’aide d’IMAP.

// Pour des exemples complets et des fichiers de données, rendez-vous sur https://github.com/aspose-email/Aspose.Email-for-.NET
// Connectez-vous à Exchange Server à l'aide de la classe ImapClient
ImapClient imapClient = new ImapClient("ex07sp1", "Administrator", "Evaluation1");
imapClient.SecurityOptions = SecurityOptions.Auto;

// Sélectionnez le dossier Boîte de réception
imapClient.SelectFolder(ImapFolderInfo.InBox);

// Obtenir la liste des messages
ImapMessageInfoCollection msgCollection = imapClient.ListMessages();
foreach (ImapMessageInfo msgInfo in msgCollection)
{
    Console.WriteLine(msgInfo.Subject);
}
// Se déconnecter du serveur
imapClient.Dispose();

Obtenez une licence API gratuite

Vous pouvez essayer gratuitement l’API sans limitations d’évaluation. Obtenez une licence temporaire gratuite maintenant.

Démo en direct

Conclusion

Dans cet article, vous avez appris à vous connecter à MS Exchange Server et à lire les e-mails à l’aide de C#. De plus, les exemples de code ont montré comment accéder à Exchange Server à l’aide des clients EWS et IMAP. Vous pouvez en savoir plus sur l’API de messagerie C# à l’aide de documentation.

Voir également