在 Microsoft Exchange Server 中,電子郵件被組織在不同的文件夾中,例如收件箱、發件箱等。此外,您可以根據需要創建自己的文件夾或子文件夾。使用 MS Exchange Server 時,您可能需要以編程方式創建自定義文件夾。在本文中,您將學習如何在 C# .NET 中使用 EWS 在 MS Exchange Server 上創建文件夾或子文件夾。此外,我們還將介紹如何刪除 Exchange Server 上的文件夾。
- 用於在 MS Exchange 服務器上使用 EWS 創建文件夾的 .NET API
- 在 MS Exchange 服務器上創建文件夾
- 在 MS Exchange Server 上創建子文件夾
- 刪除 MS Exchange 服務器上的文件夾
用於在 MS Exchange 服務器上創建文件夾的 C# .NET API
要在 MS Exchange Server 上使用 EWS 管理文件夾,我們將使用 Aspose.Email for .NET。 API 使得從 .NET 應用程序中使用 Exchange Server 的服務變得非常容易。您可以 下載 API 的 DLL 或使用以下命令從 NuGet 安裝它。
PM> Install-Package Aspose.Email
在 C# 中的 MS Exchange 服務器上創建一個文件夾
以下是使用 C# 在 MS Exchange Server 上創建文件夾的步驟。
- 連接到 MS Exchange Server 並在 IEWSClient 中獲取 EWS 客戶端對象。
- 指定根文件夾的名稱和要創建的文件夾。
- 使用 IEWSClient.CreateFolder(string, string) 方法創建文件夾。
以下代碼示例顯示如何使用 C# 中的 EWS 在 MS Exchange Server 上創建文件夾。
// 通過提供憑據創建 EWSClient 類的實例
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
// 獲取收件箱 URI(在收件箱中創建文件夾)
string inbox = client.MailboxInfo.InboxUri;
// 指定文件夾名稱
string folderName1 = "EMAILNET-35054";
try
{
// 創建文件夾
client.UseSlashAsFolderSeparator = true;
client.CreateFolder(client.MailboxInfo.InboxUri, folderName1);
}
catch
{
// 做一點事
}
在 C# 中的 MS Exchange Server 上創建子文件夾
要創建子文件夾,您首先需要檢查父文件夾是否存在。如果是,只需創建子文件夾,否則先創建父文件夾。以下步驟演示瞭如何使用 C# 在 MS Exchange Server 上創建子文件夾。
- 連接到 MS Exchange Server 並在 IEWSClient 中獲取 EWS 客戶端對象。
- 指定根文件夾和子文件夾的名稱。
- 使用 IEWSClient.FolderExists(string, string, ExchangeFolderInfo) 方法檢查父文件夾是否存在。如果沒有,請創建一個。
- 使用 IEWSClient.CreateFolder(string, string) 方法創建子文件夾。
以下代碼示例顯示瞭如何使用 C# 在 MS Exchange Server 上創建子文件夾。
// 通過提供憑據創建 EWSClient 類的實例
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
// 獲取收件箱 URI
string inbox = client.MailboxInfo.InboxUri;
// 指定文件夾名稱
string folderName1 = "EMAILNET-35054";
// 指定子文件夾名稱
string subFolderName = "2015";
string folderName2 = folderName1 + "/" + subFolderName;
ExchangeFolderInfo rootFolderInfo = null;
try
{
client.UseSlashAsFolderSeparator = true;
if (!client.FolderExists(inbox, folderName1, out rootFolderInfo))
{
// 創建文件夾
rootFolderInfo = client.CreateFolder(inbox, folderName1);
}
// 創建子文件夾
client.CreateFolder(inbox, folderName2);
}
catch
{
// 做一點事
}
在 C# 中刪除 MS Exchange 服務器上的文件夾
以下是在 C# 中刪除 MS Exchange Server 上的文件夾的步驟。
- 連接到 MS Exchange Server 並在 IEWSClient 中獲取 EWS 客戶端對象。
- 使用 IEWSClient.FolderExists(string, string, ExchangeFolderInfo) 方法檢查文件夾是否存在。
- 使用 IEWSClient.DeleteFolder(string, bool) 方法刪除文件夾。
以下代碼示例顯示如何使用 C# 刪除 MS Exchange Server 上的文件夾。
// 通過提供憑據創建 EWSClient 類的實例
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
// 獲取收件箱 URI
string inbox = client.MailboxInfo.InboxUri;
// 指定文件夾名稱
string folderName1 = "EMAILNET-35054";
ExchangeFolderInfo rootFolderInfo = null;
try
{
// 檢查文件夾是否存在
if (client.FolderExists(inbox, folderName1, out rootFolderInfo))
{
// 刪除文件夾
client.DeleteFolder(rootFolderInfo.Uri, true);
}
}
catch
{
// 做一點事
}
獲取免費的 API 許可證
您可以獲得免費的臨時許可證,以在沒有評估限制的情況下使用 Aspose.Email for .NET。
結論
在本文中,您了解瞭如何使用 C# 中的 EWS 使用 Microsoft Exchange Server 上的文件夾。借助代碼示例,您了解瞭如何在 C# 中以編程方式在 MS Exchange Server 上創建和刪除特定文件夾。此外,您可以瀏覽 文檔 以閱讀有關 Aspose.Email for .NET 的更多信息。此外,您可以通過我們的 論壇 提問。