使用 C# 将电子邮件移动到 Microsoft Exchange Server 中的文件夹

Microsoft Exchange Server 是一个广泛使用的协作平台,提供电子邮件、联系人管理、日历和其他服务。在 上一篇文章 中,我们向您展示了如何在 .NET 应用程序中以编程方式访问和阅读来自 MS Exchange Server 的电子邮件。但是,您可能还需要将电子邮件从一个文件夹复制到 Exchange Server 上的另一个文件夹。为此,本文展示了如何在 C# .NET 中将电子邮件移动到 MS Exchange Server 上的特定文件夹。

C# .NET API 在 Microsoft Exchange Server 上移动电子邮件

要在 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 上特定文件夹的步骤。

以下代码示例显示了如何在 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);

    // 遍历集合以获取消息 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 中的特定文件夹。以下是执行此操作的步骤。

以下代码示例显示了如何将新电子邮件移至 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 的信息。此外,您可以通过我们的 论坛 提问。

也可以看看