Microsoft Exchange Server 是一個平台,可讓您管理聯繫人、電子郵件、日曆、日程安排並提供多種協作功能。使用 MS Exchange Server,您可以部署自己的郵件服務器,而無需依賴第三方。 MS Exchange Server 也可以通過 Web 服務從您的 Web、桌面或移動應用程序中訪問。因此,您可以在您的應用程序中執行郵寄和壓延操作。在本文中,您將學習如何使用 C# 連接到 Exchange 服務器。此外,我們還將演示如何使用 C# 從 Exchange Server 讀取電子郵件。
- 用於從 Exchange Server 讀取電子郵件的 C# API
- 在 C# 中連接到 MS Exchange Server
- 使用 EWS 從 Exchange Server 讀取電子郵件
- 使用 IMAP 從 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 的步驟。
- 使用 NetworkCredential 類設置憑據,包括用戶名、密碼和域。
- 獲取 EWSClient.GetEWSClient(String, ICredentials) 方法返回的 IEWSClient 對象。
- 使用 IEWSClient 對象執行進一步的操作。
以下代碼示例顯示如何使用 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 讀取電子郵件的步驟。
- 創建 ImapClient 類的實例,並為其構造函數提供主機、用戶名和密碼。
- 使用 ImapClient.SecurityOptions 屬性設置安全選項。
- 使用 ImapClient.SelectFolder() 方法選擇收件箱、已發送等文件夾。
- 使用 ImapClient.ListMessages() 方法獲取電子郵件集合。
- 遍歷電子郵件集合以訪問每條消息。
以下 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 的消息進行分組 |