Lesen Sie Emails von MS Exchange Server mit C#

Microsoft Exchange Server ist eine Plattform, mit der Sie Kontakte, Emails, Kalender und Zeitpläne verwalten können und die mehrere Funktionen für die Zusammenarbeit bietet. Mit MS Exchange Server können Sie Ihren eigenen Mailserver bereitstellen, ohne auf Drittanbieter angewiesen zu sein. Auf MS Exchange Server kann auch über Webdienste aus Ihren Web, Desktop oder mobilen Anwendungen zugegriffen werden. Somit können Sie die Postversand und Kalandriervorgänge in Ihren Anwendungen durchführen. In diesem Artikel erfahren Sie, wie Sie mit C# eine Verbindung zu einem Exchange-Server herstellen und Emails lesen.

C# Exchange Server-API – kostenloser Download

Aspose.Email for .NET bietet eine einfach zu verwendende API, um mit MS Exchange Server zu arbeiten. Damit können Sie über Exchange Web Service (EWS) oder Internet Message Access Protocol (IMAP) eine Verbindung zu Ihrem Mailserver herstellen. Sobald Sie verbunden sind, können Sie innerhalb weniger Schritte auf Elemente in einem Postfach zugreifen. Sie können Aspose.Email for .NET über NuGet installieren oder dessen DLL herunterladen.

PM> Install-Package Aspose.Email

Herstellen einer Verbindung zu einem Exchange-Server mithilfe von C#

Aspose.Email for .NET bietet zwei Möglichkeiten, eine Verbindung zu einer Instanz von Exchange Server herzustellen: EWS und IMAP. Die folgenden Abschnitte enthalten die Schritte zum Herstellen einer Verbindung auf eine der beiden Arten.

Stellen Sie über EWS eine Verbindung zu einem Exchange-Server her

Im Folgenden finden Sie Schritte zum Herstellen einer Verbindung zu einem MS Exchange-Server mithilfe von Aspose.Email for .NET.

Das folgende Codebeispiel zeigt, wie Sie mit C# über EWS eine Verbindung mit Exchange Server herstellen.

// Vollständige Beispiele und Datendateien finden Sie unter 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;
}

Stellen Sie über IMAP eine Verbindung zu einem Exchange-Server her

Um sich über IMAP mit einem Exchange-Server zu verbinden, stellen Sie sicher, dass IMAP-Dienste auf Ihrem Server aktiviert sind. Führen Sie anschließend die folgenden Schritte aus, um eine Verbindung zum Exchange-Server herzustellen.

  • Erstellen Sie eine Instanz der Klasse ImapClient und geben Sie Host, Benutzername und Passwort für ihren Konstruktor an.
  • Legen Sie Sicherheitsoptionen mit der Eigenschaft ImapClient.SecurityOptions fest.
  • Greifen Sie mithilfe des ImapClient objekts auf die Elemente im Postfach zu.

Das folgende Codebeispiel zeigt, wie Sie mit C# über IMAP auf Exchange Server zugreifen.

// Stellen Sie mithilfe der ImapClient Klasse eine Verbindung mit Exchange Server her
ImapClient imapClient = new ImapClient("ex07sp1", "Administrator", "Evaluation1");
imapClient.SecurityOptions = SecurityOptions.Auto;

Lesen Sie Emails von Exchange Server mit EWS in C#

Im Folgenden finden Sie die Schritte zum Lesen von Email-Nachrichten von Exchange Server mithilfe von EWS.

  • Erstellen Sie eine Instanz des IEWSClient.
  • Verwenden Sie die Methode IEWSClient.ListMessage(String), um auf die Email Sammlung zuzugreifen.
  • Durchlaufen Sie die Email Sammlung, um Details zu jeder Email-Nachricht zu erhalten.

Das folgende Codebeispiel zeigt, wie Emails von Exchange Server in C# gelesen werden.

// Vollständige Beispiele und Datendateien finden Sie unter https://github.com/aspose-email/Aspose.Email-for-.NET
// Erstellen Sie eine Instanz der ExchangeWebServiceClient Klasse, indem Sie Anmeldeinformationen angeben
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "UserName", "Password");

// Rufen Sie die ListMessages methode auf, um Nachrichteninformationen aus dem Posteingang aufzulisten
ExchangeMessageInfoCollection msgCollection = client.ListMessages(client.MailboxInfo.InboxUri);

// Durchlaufen Sie die Sammlung, um die grundlegenden Informationen anzuzeigen
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);
}

Lesen Sie Emails von Exchange Server mit IMAP

Im Folgenden finden Sie die Schritte zum Lesen von Emails von Exchange Server mit IMAP.

  • Erstellen Sie eine Instanz der Klasse ImapClient und geben Sie Host, Benutzername und Passwort für ihren Konstruktor an.
  • Legen Sie Sicherheitsoptionen mit der Eigenschaft ImapClient.SecurityOptions fest.
  • Wählen Sie mit der methode ImapClient.SelectFolder() einen Ordner wie Posteingang, Gesendet usw. aus.
  • Verwenden Sie die Methode ImapClient.ListMessages(), um die Email Sammlung abzurufen.
  • Durchlaufen Sie die Email Sammlung, um auf jede Nachricht zuzugreifen.

Das folgende Codebeispiel zeigt, wie Emails von Exchange Server mit IMAP gelesen werden.

// Vollständige Beispiele und Datendateien finden Sie unter https://github.com/aspose-email/Aspose.Email-for-.NET
// Stellen Sie mithilfe der ImapClient Klasse eine Verbindung mit Exchange Server her
ImapClient imapClient = new ImapClient("ex07sp1", "Administrator", "Evaluation1");
imapClient.SecurityOptions = SecurityOptions.Auto;

// Wählen Sie den Ordner Posteingang aus
imapClient.SelectFolder(ImapFolderInfo.InBox);

// Holen Sie sich die Liste der Nachrichten
ImapMessageInfoCollection msgCollection = imapClient.ListMessages();
foreach (ImapMessageInfo msgInfo in msgCollection)
{
    Console.WriteLine(msgInfo.Subject);
}
// Verbindung zum Server trennen
imapClient.Dispose();

Holen Sie sich eine kostenlose API Lizenz

Sie können die API ohne Evaluierungseinschränkungen kostenlos testen. Holen Sie sich jetzt eine kostenlose temporäre Lizenz.

Live-Demo

Fazit

In diesem Artikel haben Sie gelernt, wie Sie mit C# eine Verbindung zu MS Exchange Server herstellen und Email-Nachrichten lesen. Darüber hinaus haben die Codebeispiele gezeigt, wie Sie mithilfe von EWS und IMAP-Clients auf Exchange Server zugreifen. Weitere Informationen zur C# Email API finden Sie unter Dokumentation.

Siehe auch