Di chuyển Email vào một thư mục trong Microsoft Exchange Server bằng C#

Microsoft Exchange Server là một nền tảng cộng tác được sử dụng rộng rãi cung cấp email, quản lý liên hệ, lập lịch và các dịch vụ khác. Trong bài trước, chúng tôi đã hướng dẫn bạn cách truy cập và đọc email từ MS Exchange Server theo lập trình trong ứng dụng .NET. Tuy nhiên, bạn cũng có thể cần sao chép email từ thư mục này sang thư mục khác trên Exchange Server. Để đạt được điều đó, bài viết này hướng dẫn cách di chuyển email đến một thư mục cụ thể trên MS Exchange Server trong C# .NET.

C# .NET API để di chuyển email trên Microsoft Exchange Server

Để di chuyển email trên MS Exchange Server, chúng tôi sẽ sử dụng Aspose.Email for .NET. API cung cấp các cách đơn giản để kết nối và làm việc với MS Exchange Server. Bạn có thể cài đặt nó qua NuGet hoặc download DLL của nó.

PM> Install-Package Aspose.Email

Di chuyển Email vào một Thư mục trên Máy chủ MS Exchange trong C#

Sau đây là các bước để di chuyển email đến một thư mục cụ thể trên MS Exchange Server trong C#.

Mẫu mã sau đây cho thấy cách di chuyển một email vào một thư mục trên MS Exchange Server trong C# .NET.

try
{
    // Tạo phiên bản của lớp EWSClient bằng cách cung cấp thông tin xác thực
    IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");

    // Phương thức Call ListMessages để liệt kê thông tin tin nhắn từ Inbox
    ExchangeMessageInfoCollection msgCollection = client.ListMessages(client.MailboxInfo.InboxUri);

    // Lặp lại bộ sưu tập để nhận URI thư
    foreach (ExchangeMessageInfo msgInfo in msgCollection)
    {
        if (msgInfo.From.Address.Contains("jhon.vick"))
        {
            String strMessageURI = msgInfo.UniqueUri;

            // Sao chép vào thư mục cụ thể
            string newMessageUri = client.CopyItem(strMessageURI, client.MailboxInfo.DeletedItemsUri);
        }
    }                
}
catch (Exception ex)
{
    Console.WriteLine(ex.Message);
}

Di chuyển Email Mới vào một Thư mục trên Máy chủ MS Exchange

Bạn cũng có thể di chuyển email mới tạo vào một thư mục cụ thể trong MS Exchange Server. Sau đây là các bước để thực hiện thao tác này.

Mẫu mã sau đây cho thấy cách di chuyển một thư email mới vào một thư mục trong MS Exchange Server.

try
{
    // Tạo phiên bản của lớp EWSClient bằng cách cung cấp thông tin xác thực
    IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");

    // Tạo lộn xộn
    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");

    // Nhận URI tin nhắn
    string messageUri = client.AppendMessage(message);

    // Sao chép tin nhắn
    string newMessageUri = client.CopyItem(messageUri, client.MailboxInfo.OutboxUri);
}
catch (Exception ex)
{
    Console.WriteLine(ex.Message);
}

Nhận giấy phép API miễn phí

Bạn có thể nhận giấy phép tạm thời miễn phí để sử dụng Aspose.Email for .NET mà không có giới hạn đánh giá.

Sự kết luận

Trong bài viết này, bạn đã học cách di chuyển email đến một thư mục cụ thể trong Microsoft Exchange Server bằng C#. Hơn nữa, bạn đã thấy cách di chuyển một email mới được tạo vào một thư mục cụ thể trong Exchange Server. Ngoài ra, bạn có thể khám phá tài liệu để đọc thêm về Aspose.Email for .NET. Ngoài ra, bạn có thể đặt câu hỏi của mình qua diễn đàn của chúng tôi.

Xem thêm