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.
- .NET API để di chuyển email trên Microsoft Exchange Server
- Di chuyển Email hiện có vào một thư mục trên MS Exchange Server
- Di chuyển Email Mới vào một Thư mục trên Máy chủ MS Exchange
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#.
- Đầu tiên, khởi tạo đối tượng IEWSClient bằng tên người dùng, mật khẩu, miền và URI.
- Sau đó, lấy danh sách email trong đối tượng ExchangeMessageInfoCollection bằng phương thức IEWSClient.ListMessages (IEWSClient.MailboxInfo.InboxUri).
- Sau đó, lặp qua từng thông báo ExchangeMessageInfo và lọc (các) thông báo bắt buộc.
- Sau đó, nhận URI của thông báo sẽ được di chuyển bằng thuộc tính ExchangeMessageInfo.UniqueUri.
- Cuối cùng, di chuyển thư email bằng phương thức IEWSClient.CopyItem (string URI, IEWSClient.MailboxInfo.DeletedItemsUri).
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.
- Đầu tiên, khởi tạo đối tượng IEWSClient bằng tên người dùng, mật khẩu, miền và URI.
- Sau đó, tạo một thư mới bằng lớp MailMessage.
- Sau đó, nhận URI của thư email được trả về bởi phương thức IEWSClient.AppendMessage (MailMessage).
- Cuối cùng, di chuyển thư email bằng phương thức IEWSClient.CopyItem (string URI, IEWSClient.MailboxInfo.OutboxUri).
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.