อ่านอีเมลจาก MS Exchange Server โดยใช้ C#

Microsoft Exchange Server เป็นแพลตฟอร์มที่ให้คุณจัดการผู้ติดต่อ อีเมล ปฏิทิน กำหนดการ และมีคุณสมบัติการทำงานร่วมกันหลายอย่าง ด้วย MS Exchange Server คุณสามารถปรับใช้เมลเซิร์ฟเวอร์ของคุณเองโดยไม่ต้องพึ่งพาบุคคลที่สาม MS Exchange Server ยังสามารถเข้าถึงได้จากภายในเว็บ เดสก์ท็อป หรือแอปพลิเคชันมือถือของคุณผ่านบริการบนเว็บ ดังนั้น คุณสามารถดำเนินการส่งจดหมายและปฏิทินในแอปพลิเคชันของคุณได้ ในบทความนี้ คุณจะได้เรียนรู้วิธีเชื่อมต่อกับ Exchange Server ใน C# นอกจากนี้ เราจะสาธิตวิธีการอ่านอีเมลจาก Exchange Server ใน C#

C # API เพื่ออ่านอีเมลจาก Exchange Server - ดาวน์โหลดฟรี

Aspose.Email for .NET ให้ API ที่ใช้งานง่ายเพื่อทำงานร่วมกับ MS Exchange Server ช่วยให้คุณเชื่อมต่อกับเซิร์ฟเวอร์อีเมลของคุณโดยใช้ Exchange Web Service (EWS) หรือ Internet Message Access Protocol (IMAP) เมื่อคุณเชื่อมต่อแล้ว คุณจะสามารถเข้าถึงรายการต่างๆ ในกล่องจดหมายได้ภายในไม่กี่ขั้นตอน คุณสามารถติดตั้ง Aspose.Email for .NET ผ่าน NuGet หรือ ดาวน์โหลด DLL

PM> Install-Package Aspose.Email

เชื่อมต่อกับ Exchange Server โดยใช้ C#

Aspose.Email for .NET มีสองวิธีในการเชื่อมต่อกับอินสแตนซ์ของ Exchange Server: EWS และ IMAP ส่วนต่อไปนี้แสดงขั้นตอนในการสร้างการเชื่อมต่อโดยใช้วิธีใดวิธีหนึ่ง

เชื่อมต่อกับ Exchange Server ผ่าน EWS

ต่อไปนี้เป็นขั้นตอนในการเชื่อมต่อกับ MS Exchange Server โดยใช้ Aspose.Email for .NET

  • ใช้คลาส NetworkCredential เพื่อตั้งค่าข้อมูลประจำตัวรวมถึงชื่อผู้ใช้ รหัสผ่าน และโดเมน
  • รับวัตถุ IEWSClient ที่ส่งคืนโดยเมธอด EWSClient.GetEWSClient(String, ICredentials)
  • ใช้วัตถุ IEWSClient เพื่อดำเนินการเพิ่มเติม

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการเชื่อมต่อกับ Exchange Server ผ่าน EWS โดยใช้ C#

// สำหรับตัวอย่างและไฟล์ข้อมูลทั้งหมด โปรดไปที่ 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# เชื่อมต่อกับ Exchange Server ผ่าน IMAP

ในการเชื่อมต่อกับ Exchange Server ผ่าน IMAP ตรวจสอบให้แน่ใจว่าได้เปิดใช้งานบริการ IMAP บนเซิร์ฟเวอร์ของคุณ เมื่อเสร็จแล้ว ให้ทำตามขั้นตอนด้านล่างเพื่อเชื่อมต่อกับ Exchange Server

  • สร้างอินสแตนซ์ของคลาส ImapClient และระบุโฮสต์ ชื่อผู้ใช้ และรหัสผ่านให้กับตัวสร้าง
  • ตั้งค่าตัวเลือกความปลอดภัยโดยใช้คุณสมบัติ ImapClient.SecurityOptions
  • เข้าถึงรายการในกล่องจดหมายโดยใช้วัตถุ ImapClient

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการเข้าถึง Exchange Server ผ่าน IMAP โดยใช้ C#

// เชื่อมต่อกับ Exchange Server โดยใช้คลาส ImapClient
ImapClient imapClient = new ImapClient("ex07sp1", "Administrator", "Evaluation1");
imapClient.SecurityOptions = SecurityOptions.Auto;

C# อ่านอีเมลจาก Exchange Server โดยใช้ EWS

ต่อไปนี้เป็นขั้นตอนในการอ่านข้อความอีเมลจาก Exchange Server โดยใช้ EWS

  • สร้างอินสแตนซ์ของ IEWSClient
  • ใช้เมธอด IEWSClient.ListMessage(String) เพื่อเข้าถึงการรวบรวมอีเมล
  • วนซ้ำคอลเลกชันอีเมลเพื่อดูรายละเอียดของแต่ละข้อความอีเมล

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการอ่านอีเมลจาก Exchange Server ใน C#

// สำหรับตัวอย่างและไฟล์ข้อมูลทั้งหมด โปรดไปที่ https://github.com/aspose-email/Aspose.Email-for-.NET
// สร้างอินสแตนซ์ของคลาส ExchangeWebServiceClient โดยให้ข้อมูลประจำตัว
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "UserName", "Password");

// โทรเมธอด ListMessages เพื่อแสดงรายการข้อมูลข้อความจาก Inbox
ExchangeMessageInfoCollection msgCollection = client.ListMessages(client.MailboxInfo.InboxUri);

// วนซ้ำคอลเลกชันเพื่อแสดงข้อมูลพื้นฐาน
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);
}

อ่านอีเมลจาก Exchange Server โดยใช้ IMAP ใน C#

ต่อไปนี้เป็นขั้นตอนในการอ่านอีเมลจาก Exchange Server โดยใช้ IMAP ใน C#

  • สร้างอินสแตนซ์ของคลาส ImapClient และระบุโฮสต์ ชื่อผู้ใช้ และรหัสผ่านให้กับตัวสร้าง
  • ตั้งค่าตัวเลือกความปลอดภัยโดยใช้คุณสมบัติ ImapClient.SecurityOptions
  • เลือกโฟลเดอร์ เช่น กล่องจดหมาย ส่ง ฯลฯ โดยใช้เมธอด ImapClient.SelectFolder()
  • ใช้เมธอด ImapClient.ListMessages() เพื่อรับการรวบรวมอีเมล
  • วนซ้ำคอลเลกชันอีเมลเพื่อเข้าถึงแต่ละข้อความ

ตัวอย่างโค้ด C# ต่อไปนี้แสดงวิธีการอ่านอีเมลจาก Exchange Server โดยใช้ IMAP

// สำหรับตัวอย่างและไฟล์ข้อมูลทั้งหมด โปรดไปที่ https://github.com/aspose-email/Aspose.Email-for-.NET
// เชื่อมต่อกับ Exchange Server โดยใช้คลาส ImapClient
ImapClient imapClient = new ImapClient("ex07sp1", "Administrator", "Evaluation1");
imapClient.SecurityOptions = SecurityOptions.Auto;

// เลือกโฟลเดอร์กล่องขาเข้า
imapClient.SelectFolder(ImapFolderInfo.InBox);

// รับรายการข้อความ
ImapMessageInfoCollection msgCollection = imapClient.ListMessages();
foreach (ImapMessageInfo msgInfo in msgCollection)
{
    Console.WriteLine(msgInfo.Subject);
}
// ตัดการเชื่อมต่อจากเซิร์ฟเวอร์
imapClient.Dispose();

C# API เพื่ออ่านอีเมลของ Exchange Server - รับใบอนุญาตฟรี

คุณสามารถลองใช้ API โดยไม่มีข้อจำกัดในการประเมินได้ฟรี รับใบอนุญาตชั่วคราวฟรี ตอนนี้

Aspose Email API สำหรับ C# - การสาธิตสด

บทสรุป

ในบทความนี้ คุณได้เรียนรู้วิธีการเชื่อมต่อกับ MS Exchange Server ใน C# นอกจากนี้ เรายังกล่าวถึงวิธีการอ่านอีเมลจาก Exchange Server โดยใช้ C# ตัวอย่างโค้ดแสดงวิธีเข้าถึง Exchange Server โดยใช้ไคลเอนต์ EWS และ IMAP อย่างชัดเจน คุณสามารถสำรวจเพิ่มเติมเกี่ยวกับ C# Email API โดยใช้ เอกสารประกอบ

ดูสิ่งนี้ด้วย

สร้างและส่งอีเมลโดยใช้ C#อ่านอีเมลโดยใช้ IMAP ใน Pythonเชื่อมต่อกับเซิร์ฟเวอร์ SMTP โดยใช้ Python
จัดกลุ่มข้อความจาก PST ตามเธรดการสนทนาโดยใช้ C# .NET