Microsoft Exchange Server 是一個廣泛使用的協作平台,可提供電子郵件、聯繫人管理、日曆和其他服務。在 上一篇文章 中,我們向您展示瞭如何在 .NET 應用程序中以編程方式訪問和閱讀來自 MS Exchange Server 的電子郵件。但是,您可能還需要將電子郵件從一個文件夾複製到 Exchange Server 上的另一個文件夾。為此,本文介紹瞭如何使用 C# .NET 將電子郵件移動到 MS Exchange Server 上的特定文件夾。
- 用於在 Microsoft Exchange Server 上移動電子郵件的 .NET API
- 將現有電子郵件移動到 MS Exchange Server 上的文件夾
- 將新電子郵件移動到 MS Exchange Server 上的文件夾
用於在 Microsoft Exchange Server 上移動電子郵件的 C# .NET API
要在 MS Exchange Server 上移動電子郵件,我們將使用 Aspose.Email for .NET。 API 提供了連接和使用 MS Exchange Server 的簡單方法。您可以通過 NuGet 或 下載 它的 DLL 安裝它。
PM> Install-Package Aspose.Email
在 C# 中將電子郵件移動到 MS Exchange Server 上的文件夾
以下是使用 C# 將電子郵件移動到 MS Exchange Server 上的特定文件夾的步驟。
- 首先,使用用戶名、密碼、域和 URI 初始化 IEWSClient 對象。
- 然後,使用 IEWSClient.ListMessages(IEWSClient.MailboxInfo.InboxUri) 方法獲取 ExchangeMessageInfoCollection 對像中的電子郵件列表。
- 之後,遍歷每個 ExchangeMessageInfo 消息並過濾所需的消息。
- 然後,使用 ExchangeMessageInfo.UniqueUri 屬性獲取要移動的消息的 URI。
- 最後,使用 IEWSClient.CopyItem(string URI, IEWSClient.MailboxInfo.DeletedItemsUri) 方法移動電子郵件。
以下代碼示例顯示如何使用 C# .NET 將電子郵件移動到 MS Exchange Server 上的文件夾。
try
{
// 通過提供憑據創建 EWSClient 類的實例
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
// 調用 ListMessages 方法列出收件箱中的消息信息
ExchangeMessageInfoCollection msgCollection = client.ListMessages(client.MailboxInfo.InboxUri);
// 循環遍歷集合以獲取 Message URI
foreach (ExchangeMessageInfo msgInfo in msgCollection)
{
if (msgInfo.From.Address.Contains("jhon.vick"))
{
String strMessageURI = msgInfo.UniqueUri;
// 複製到特定文件夾
string newMessageUri = client.CopyItem(strMessageURI, client.MailboxInfo.DeletedItemsUri);
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
將新電子郵件移動到 MS Exchange Server 上的文件夾
您還可以將新創建的電子郵件移動到 MS Exchange Server 中的特定文件夾。以下是執行此操作的步驟。
- 首先,使用用戶名、密碼、域和 URI 初始化 IEWSClient 對象。
- 然後,使用 MailMessage 類創建一條新消息。
- 之後,獲取 IEWSClient.AppendMessage(MailMessage) 方法返回的電子郵件消息的 URI。
- 最後,使用 IEWSClient.CopyItem(string URI, IEWSClient.MailboxInfo.OutboxUri) 方法移動電子郵件。
以下代碼示例顯示如何將新電子郵件移動到 MS Exchange Server 中的文件夾。
try
{
// 通過提供憑據創建 EWSClient 類的實例
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
// 創建消息
MailMessage message = new MailMessage("from@domain.com", "to@domain.com", "EMAILNET-34997 - " + Guid.NewGuid().ToString(), "EMAILNET-34997 Exchange: Copy a message and get reference to the new Copy item");
// 獲取消息 URI
string messageUri = client.AppendMessage(message);
// 複製信息
string newMessageUri = client.CopyItem(messageUri, client.MailboxInfo.OutboxUri);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
獲取免費的 API 許可證
您可以獲得免費的臨時許可證,以在沒有評估限制的情況下使用 Aspose.Email for .NET。
結論
在本文中,您了解瞭如何使用 C# 將電子郵件移動到 Microsoft Exchange Server 中的特定文件夾。此外,您還了解瞭如何將新創建的電子郵件移動到 Exchange Server 中的特定文件夾。此外,您可以瀏覽 文檔 以閱讀有關 Aspose.Email for .NET 的更多信息。此外,您可以通過我們的 論壇 提問。