Czytaj e-maile z MS Exchange Server przy użyciu C#

Microsoft Exchange Server to platforma, która pozwala zarządzać kontaktami, e-mailami, kalendarzami, harmonogramami i zapewnia kilka funkcji współpracy. Dzięki MS Exchange Server możesz wdrożyć własny serwer pocztowy bez polegania na firmach trzecich. Dostęp do serwera MS Exchange Server można również uzyskać z poziomu aplikacji internetowych, stacjonarnych lub mobilnych za pośrednictwem usług sieciowych. W ten sposób możesz wykonywać operacje mailingu i kalendarzowania w swoich aplikacjach. W tym artykule dowiesz się, jak połączyć się z serwerem Exchange w języku C#. Pokażemy również, jak czytać wiadomości e-mail z serwera Exchange w języku C#.

Interfejs API języka C# do odczytywania wiadomości e-mail z serwera Exchange — bezpłatne pobieranie

Aspose.Email for .NET udostępnia łatwe w użyciu API do pracy z MS Exchange Server. Pozwala łączyć się z serwerem pocztowym za pomocą usługi Exchange Web Service (EWS) lub protokołu IMAP (Internet Message Access Protocol). Po nawiązaniu połączenia możesz uzyskać dostęp do elementów w skrzynce pocztowej w kilku krokach. Możesz zainstalować Aspose.Email for .NET przez NuGet lub pobierz jego bibliotekę DLL.

PM> Install-Package Aspose.Email

Połącz się z serwerem Exchange przy użyciu C#

Aspose.Email for .NET zapewnia dwa sposoby łączenia się z instancją Exchange Server: EWS i IMAP. Poniższe sekcje zawierają instrukcje nawiązywania połączenia przy użyciu jednego ze sposobów.

Połącz się z serwerem Exchange przez EWS

Poniżej przedstawiono kroki, aby połączyć się z serwerem MS Exchange za pomocą Aspose.Email for .NET.

Poniższy przykładowy kod pokazuje, jak połączyć się z programem Exchange Server za pośrednictwem EWS przy użyciu języka C#.

// Aby uzyskać pełne przykłady i pliki danych, przejdź do 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;
}

C# Połącz się z serwerem Exchange przez IMAP

Aby połączyć się z serwerem Exchange przez IMAP, upewnij się, że usługi IMAP są włączone na twoim serwerze. Po zakończeniu wykonaj poniższe czynności, aby połączyć się z serwerem Exchange.

  • Utwórz instancję klasy ImapClient i podaj hosta, nazwę użytkownika i hasło do jej konstruktora.
  • Ustaw opcje zabezpieczeń za pomocą właściwości ImapClient.SecurityOptions.
  • Uzyskaj dostęp do elementów w skrzynce pocztowej za pomocą obiektu ImapClient.

Poniższy przykładowy kod pokazuje, jak uzyskać dostęp do programu Exchange Server za pośrednictwem protokołu IMAP przy użyciu języka C#.

// Połącz się z serwerem Exchange przy użyciu klasy ImapClient
ImapClient imapClient = new ImapClient("ex07sp1", "Administrator", "Evaluation1");
imapClient.SecurityOptions = SecurityOptions.Auto;

C# Odczyt wiadomości e-mail z serwera Exchange przy użyciu EWS

Poniżej przedstawiono kroki, aby odczytać wiadomości e-mail z serwera Exchange przy użyciu EWS.

  • Utwórz instancję IEWSClient.
  • Użyj metody IEWSClient.ListMessage(String), aby uzyskać dostęp do kolekcji wiadomości e-mail.
  • Przejrzyj kolekcję wiadomości e-mail, aby uzyskać szczegółowe informacje o każdej wiadomości e-mail.

Poniższy przykładowy kod pokazuje, jak odczytywać wiadomości e-mail z programu Exchange Server w języku C#.

// Aby uzyskać pełne przykłady i pliki danych, przejdź do https://github.com/aspose-email/Aspose.Email-for-.NET
// Utwórz instancję klasy ExchangeWebServiceClient, podając poświadczenia
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "UserName", "Password");

// Wywołaj metodę ListMessages, aby wyświetlić informacje o wiadomościach ze skrzynki odbiorczej
ExchangeMessageInfoCollection msgCollection = client.ListMessages(client.MailboxInfo.InboxUri);

// Przejrzyj kolekcję, aby wyświetlić podstawowe informacje
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);
}

Czytaj wiadomości e-mail z serwera Exchange przy użyciu protokołu IMAP w języku C#

Poniżej przedstawiono kroki, aby odczytać wiadomości e-mail z programu Exchange Server przy użyciu protokołu IMAP w języku C#.

  • Utwórz instancję klasy ImapClient i podaj hosta, nazwę użytkownika i hasło do jej konstruktora.
  • Ustaw opcje zabezpieczeń za pomocą właściwości ImapClient.SecurityOptions.
  • Wybierz folder, taki jak skrzynka odbiorcza, wysłane itp., używając metody ImapClient.SelectFolder().
  • Użyj metody ImapClient.ListMessages(), aby pobrać kolekcję e-maili.
  • Przejrzyj kolekcję wiadomości e-mail, aby uzyskać dostęp do każdej wiadomości.

Poniższy przykładowy kod C# pokazuje, jak odczytywać wiadomości e-mail z programu Exchange Server przy użyciu protokołu IMAP.

// Aby uzyskać pełne przykłady i pliki danych, przejdź do https://github.com/aspose-email/Aspose.Email-for-.NET
// Połącz się z serwerem Exchange przy użyciu klasy ImapClient
ImapClient imapClient = new ImapClient("ex07sp1", "Administrator", "Evaluation1");
imapClient.SecurityOptions = SecurityOptions.Auto;

// Wybierz folder Skrzynka odbiorcza
imapClient.SelectFolder(ImapFolderInfo.InBox);

// Pobierz listę wiadomości
ImapMessageInfoCollection msgCollection = imapClient.ListMessages();
foreach (ImapMessageInfo msgInfo in msgCollection)
{
    Console.WriteLine(msgInfo.Subject);
}
// Odłącz się od serwera
imapClient.Dispose();

Interfejs API języka C# do odczytywania wiadomości e-mail serwera Exchange — uzyskaj bezpłatną licencję

Możesz wypróbować interfejs API bez ograniczeń ewaluacyjnych za darmo. Uzyskaj bezpłatną tymczasową licencję teraz.

Aspose Email API dla C# — Demo na żywo

Wniosek

W tym artykule nauczyłeś się, jak połączyć się z serwerem MS Exchange w języku C#. Ponadto omówiliśmy również, jak czytać wiadomości e-mail z serwera Exchange przy użyciu języka C#. Próbki kodu wyraźnie pokazały, jak uzyskać dostęp do Exchange Server przy użyciu klientów EWS i IMAP. Możesz dowiedzieć się więcej o interfejsie C# Email API, korzystając z dokumentacji.

Zobacz też

Tworzenie i wysyłanie wiadomości e-mail przy użyciu języka C#Odczytywanie wiadomości e-mail przy użyciu protokołu IMAP w języku PythonPołącz się z serwerem SMTP przy użyciu języka Python
Grupuj wiadomości z PST według wątków konwersacji przy użyciu C# .NET