Đọc Email từ MS Exchange Server bằng C#

Microsoft Exchange Server là một nền tảng cho phép bạn quản lý danh bạ, email, lịch, lịch biểu và cung cấp một số tính năng cộng tác. Với MS Exchange Server, bạn có thể triển khai máy chủ thư của riêng mình mà không cần phụ thuộc vào bên thứ ba. MS Exchange Server cũng có thể được truy cập từ bên trong các ứng dụng web, máy tính để bàn hoặc thiết bị di động của bạn thông qua các dịch vụ web. Do đó, bạn có thể thực hiện các thao tác gửi thư và xếp lịch trong các ứng dụng của mình. Trong bài viết này, bạn sẽ học cách kết nối với Exchange Server trong C#. Ngoài ra, chúng tôi sẽ trình bày cách đọc email từ Exchange Server trong C#.

API C# để đọc email từ Exchange Server - Tải xuống miễn phí

Aspose.Email for .NET cung cấp API dễ sử dụng để hoạt động với MS Exchange Server. Nó cho phép bạn kết nối với máy chủ thư của mình bằng Exchange Web Service (EWS) hoặc Giao thức Truy cập Thư Internet (IMAP). Khi bạn đã kết nối, bạn có thể truy cập các mục trong hộp thư trong một vài bước. Bạn có thể cài đặt Aspose.Email for .NET qua NuGet hoặc download DLL của nó.

PM> Install-Package Aspose.Email

Kết nối với Exchange Server bằng C#

Aspose.Email for .NET cung cấp hai cách để kết nối với phiên bản Exchange Server: EWS và IMAP. Các phần sau đây cung cấp các bước về cách thiết lập kết nối bằng một trong hai cách.

Kết nối với Exchange Server qua EWS

Sau đây là các bước để kết nối với Máy chủ MS Exchange bằng Aspose.Email for .NET.

Mẫu mã sau đây cho biết cách kết nối với Exchange Server qua EWS bằng C#.

// Để biết các ví dụ đầy đủ và tệp dữ liệu, vui lòng truy cập https://github.com/aspose-email/Aspose.Email-for-.NET
private static IEWSClient GetExchangeEWSClient()
{
    const string mailboxUri = "https://outlook.office365.com/ews/exchange.asmx";
    const string domain = @"";
    const string username = @"username@ASE305.onmicrosoft.com";
    const string password = @"password";
    NetworkCredential credentials = new NetworkCredential(username, password, domain);
    IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials);
    return client;
}

C# Kết nối với Máy chủ Exchange qua IMAP

Để kết nối với Máy chủ Exchange qua IMAP, hãy đảm bảo rằng các dịch vụ IMAP được bật trên máy chủ của bạn. Sau khi hoàn tất, hãy làm theo các bước bên dưới để kết nối với Exchange Server.

  • Tạo một thể hiện của lớp ImapClient và cung cấp máy chủ, tên người dùng và mật khẩu cho hàm tạo của nó.
  • Đặt tùy chọn bảo mật bằng thuộc tính ImapClient.SecurityOptions.
  • Truy cập các mục trong hộp thư bằng đối tượng ImapClient.

Mẫu mã sau đây cho biết cách truy cập Exchange Server qua IMAP bằng C#.

// Kết nối với Exchange Server bằng lớp ImapClient
ImapClient imapClient = new ImapClient("ex07sp1", "Administrator", "Evaluation1");
imapClient.SecurityOptions = SecurityOptions.Auto;

C# Đọc email từ Exchange Server bằng EWS

Sau đây là các bước để đọc thư điện tử từ Exchange Server bằng EWS.

  • Tạo một phiên bản của IEWSClient.
  • Sử dụng phương thức IEWSClient.ListMessage(String) để truy cập bộ sưu tập email.
  • Lặp lại bộ sưu tập email để nhận thông tin chi tiết về từng thông báo email.

Mẫu mã sau đây cho biết cách đọc email từ Exchange Server trong C#.

// Để biết các ví dụ đầy đủ và tệp dữ liệu, vui lòng truy cập https://github.com/aspose-email/Aspose.Email-for-.NET
// Tạo phiên bản của lớp ExchangeWebServiceClient 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", "UserName", "Password");

// Gọi phương thức ListMessages để liệt kê thông tin thư từ Hộp thư đến
ExchangeMessageInfoCollection msgCollection = client.ListMessages(client.MailboxInfo.InboxUri);

// Lặp qua bộ sưu tập để hiển thị thông tin cơ bản
foreach (ExchangeMessageInfo msgInfo in msgCollection)
{
    Console.WriteLine("Subject: " + msgInfo.Subject);
    Console.WriteLine("From: " + msgInfo.From.ToString());
    Console.WriteLine("To: " + msgInfo.To.ToString());
    Console.WriteLine("Message ID: " + msgInfo.MessageId);
    Console.WriteLine("Unique URI: " + msgInfo.UniqueUri);
}

Đọc email từ Exchange Server bằng IMAP trong C#

Sau đây là các bước để đọc email từ Exchange Server bằng IMAP trong C#.

  • Tạo một thể hiện của lớp ImapClient và cung cấp máy chủ, tên người dùng và mật khẩu cho hàm tạo của nó.
  • Đặt tùy chọn bảo mật bằng thuộc tính ImapClient.SecurityOptions.
  • Chọn một thư mục như hộp thư đến, đã gửi, v.v. bằng phương pháp ImapClient.SelectFolder().
  • Sử dụng phương thức ImapClient.ListMessages() để lấy bộ sưu tập email.
  • Lặp lại bộ sưu tập email để truy cập từng thư.

Mẫu mã C# sau đây cho biết cách đọc email từ Exchange Server bằng IMAP.

// Để biết các ví dụ đầy đủ và tệp dữ liệu, vui lòng truy cập https://github.com/aspose-email/Aspose.Email-for-.NET
// Kết nối với Exchange Server bằng lớp ImapClient
ImapClient imapClient = new ImapClient("ex07sp1", "Administrator", "Evaluation1");
imapClient.SecurityOptions = SecurityOptions.Auto;

// Chọn thư mục Hộp thư đến
imapClient.SelectFolder(ImapFolderInfo.InBox);

// Lấy danh sách tin nhắn
ImapMessageInfoCollection msgCollection = imapClient.ListMessages();
foreach (ImapMessageInfo msgInfo in msgCollection)
{
    Console.WriteLine(msgInfo.Subject);
}
// Ngắt kết nối khỏi máy chủ
imapClient.Dispose();

API C# để đọc email của máy chủ Exchange - Nhận giấy phép miễn phí

Bạn có thể dùng thử miễn phí API mà không bị giới hạn đánh giá. Nhận giấy phép tạm thời miễn phí ngay bây giờ.

Aspose Email API cho C# - Live Demo

Sự kết luận

Trong bài viết này, bạn đã học cách kết nối với MS Exchange Server trong C#. Ngoài ra, chúng tôi cũng đề cập đến cách đọc email từ Exchange Server bằng C#. Các mẫu mã đã chỉ rõ cách truy cập Exchange Server bằng ứng dụng khách EWS và IMAP. Bạn có thể khám phá thêm về API Email C# bằng cách sử dụng tài liệu.

Xem thêm

Tạo và gửi email bằng C#Đọc email bằng IMAP trong PythonKết nối với Máy chủ SMTP bằng Python
Nhóm tin nhắn từ PST theo Chuỗi hội thoại bằng C# .NET