使用 C# 從 MS Exchange Server 讀取電子郵件

Microsoft Exchange Server 是一個平台,可讓您管理聯繫人、電子郵件、日曆、日程安排並提供多種協作功能。使用 MS Exchange Server,您可以部署自己的郵件服務器,而無需依賴第三方。 MS Exchange Server 也可以通過 Web 服務從您的 Web、桌面或移動應用程序中訪問。因此,您可以在您的應用程序中執行郵寄和壓延操作。在本文中,您將學習如何使用 C# 連接到 Exchange 服務器。此外,我們還將演示如何使用 C# 從 Exchange Server 讀取電子郵件。

用於從 Exchange 服務器讀取電子郵件的 C# API - 免費下載

Aspose.Email for .NET 提供易於使用的 API 以便與 MS Exchange Server 一起工作。它允許您使用 Exchange Web 服務 (EWS) 或 Internet 消息訪問協議 (IMAP) 連接到您的郵件服務器。連接後,只需幾步即可訪問郵箱中的項目。您可以通過 NuGet下載 它的 DLL 安裝 Aspose.Email for .NET。

PM> Install-Package Aspose.Email

使用 C# 連接到 Exchange 服務器

Aspose.Email for .NET 提供了兩種連接到 Exchange Server 實例的方法:EWS 和 IMAP。以下部分提供瞭如何使用任一方法建立連接的步驟。

通過 EWS 連接到 Exchange 服務器

以下是使用 Aspose.Email for .NET 連接到 MS Exchange Server 的步驟。

以下代碼示例顯示如何使用 C# 通過 EWS 連接到 Exchange 服務器。

// 如需完整示例和數據文件,請訪問 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# 通過 IMAP 連接到 Exchange 服務器

為了通過 IMAP 連接到 Exchange 服務器,請確保在您的服務器上啟用了 IMAP 服務。完成後,請按照以下步驟連接到 Exchange 服務器。

  • 創建 ImapClient 類的實例,並為其構造函數提供主機、用戶名和密碼。
  • 使用 ImapClient.SecurityOptions 屬性設置安全選項。
  • 使用 ImapClient 對象訪問郵箱中的項目。

以下代碼示例顯示瞭如何使用 C# 通過 IMAP 訪問 Exchange Server。

// 使用 ImapClient 類連接到 Exchange Server
ImapClient imapClient = new ImapClient("ex07sp1", "Administrator", "Evaluation1");
imapClient.SecurityOptions = SecurityOptions.Auto;

C# 使用 EWS 從 Exchange 服務器讀取電子郵件

以下是使用 EWS 從 Exchange Server 讀取電子郵件的步驟。

  • 創建 IEWSClient 的實例。
  • 使用 IEWSClient.ListMessage(String) 方法訪問電子郵件集合。
  • 遍歷電子郵件集合以獲取每封電子郵件的詳細信息。

以下代碼示例顯示如何使用 C# 從 Exchange Server 讀取電子郵件。

// 如需完整示例和數據文件,請訪問 https://github.com/aspose-email/Aspose.Email-for-.NET
// 通過提供憑據創建 ExchangeWebServiceClient 類的實例
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "UserName", "Password");

// 調用 ListMessages 方法列出收件箱中的消息信息
ExchangeMessageInfoCollection msgCollection = client.ListMessages(client.MailboxInfo.InboxUri);

// 循環遍歷集合顯示基本信息
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);
}

在 C# 中使用 IMAP 從 Exchange 服務器讀取電子郵件

以下是在 C# 中使用 IMAP 從 Exchange Server 讀取電子郵件的步驟。

以下 C# 代碼示例顯示瞭如何使用 IMAP 從 Exchange Server 讀取電子郵件。

// 如需完整示例和數據文件,請訪問 https://github.com/aspose-email/Aspose.Email-for-.NET
// 使用 ImapClient 類連接到 Exchange Server
ImapClient imapClient = new ImapClient("ex07sp1", "Administrator", "Evaluation1");
imapClient.SecurityOptions = SecurityOptions.Auto;

// 選擇收件箱文件夾
imapClient.SelectFolder(ImapFolderInfo.InBox);

// 獲取消息列表
ImapMessageInfoCollection msgCollection = imapClient.ListMessages();
foreach (ImapMessageInfo msgInfo in msgCollection)
{
    Console.WriteLine(msgInfo.Subject);
}
// 斷開與服務器的連接
imapClient.Dispose();

用於讀取 Exchange 服務器電子郵件的 C# API - 獲取免費許可證

您可以免費試用沒有評估限制的 API。 立即獲得免費的臨時許可證

Aspose Email API for C# - 現場演示

結論

在本文中,您了解瞭如何使用 C# 連接到 MS Exchange Server。此外,我們還介紹瞭如何使用 C# 從 Exchange Server 讀取電子郵件。代碼示例明確顯示瞭如何使用 EWS 和 IMAP 客戶端訪問 Exchange Server。您可以使用 文檔 探索有關 C# 電子郵件 API 的更多信息。

也可以看看

使用 C# 創建和發送電子郵件在 Python 中使用 IMAP 閱讀電子郵件使用 Python 連接到 SMTP 服務器
使用 C# .NET 通過對話線程對來自 PST 的消息進行分組