จัดการกฎกล่องขาเข้าบน Exchange Server ใน C#

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

C# API เพื่อสร้างและอัปเดตกฎกล่องขาเข้าบน Exchange Server

ในการสร้างและอัปเดตกฎกล่องจดหมายบน MS Exchange Server เราจะใช้ Apose.Email สำหรับ .NET API ช่วยให้ทำงานกับ MS Exchange Server ได้อย่างราบรื่นได้ง่ายขึ้น คุณสามารถ ดาวน์โหลด DLL ของ API หรือติดตั้งจาก NuGet โดยใช้คำสั่งต่อไปนี้

PM> Install-Package Aspose.Email

สร้างกฎกล่องขาเข้าบน Exchange Server ใน C#

Aspose.Email for .NET ใช้ Exchange Web Services (EWS) เพื่อทำงานกับกฎกล่องขาเข้าบน Exchange Server ต่อไปนี้เป็นขั้นตอนในการสร้างกฎกล่องขาเข้าบน Exchange Server ใน C#

  • ขั้นแรก เชื่อมต่อกับ Exchange Server และรับอินสแตนซ์ของไคลเอ็นต์ EWS ลงในวัตถุ IEWSClient
  • จากนั้น สร้างวัตถุของคลาส InboxRule
  • ตั้งชื่อกฎโดยใช้คุณสมบัติ InboxRule.DisplayName
  • สร้างอินสแตนซ์ของคลาส RulePredicates และระบุเงื่อนไข
  • กำหนดอินสแตนซ์ RulePredicates ให้กับคุณสมบัติ InboxRule.Conditions
  • สร้างอินสแตนซ์ของคลาส RuleActions และตั้งค่าการกระทำ
  • กำหนดอินสแตนซ์ RuleAction ให้กับคุณสมบัติ InboxRule.Actions
  • สุดท้าย เรียก IEWSClient.CreateInboxRule(InboxRule) เพื่อสร้างกฎ

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

// ตั้งค่า URL บริการเว็บ Exchange Server ชื่อผู้ใช้ รหัสผ่าน และโดเมน
string mailboxURI = "https://ex2010/ews/exchange.asmx";
string username = "test.exchange";
string password = "pwd";
string domain = "ex2010.local";

// เชื่อมต่อกับเซิร์ฟเวอร์ Exchange
NetworkCredential credential = new NetworkCredential(username, password, domain);
IEWSClient client = EWSClient.GetEWSClient(mailboxURI, credential);
Console.WriteLine("Connected to Exchange server");

// สร้างกฎใหม่
InboxRule rule = new InboxRule();
rule.DisplayName = "Message from client ABC";

// เพิ่มเงื่อนไข
RulePredicates newRules = new RulePredicates();
// กำหนดเงื่อนไข: หัวเรื่องมีสตริง "ABC"
newRules.ContainsSubjectStrings.Add("ABC");
newRules.FromAddresses.Add(new MailAddress("administrator@ex2010.local", true));
rule.Conditions = newRules;

// เพิ่มการดำเนินการ
RuleActions newActions = new RuleActions();
newActions.MoveToFolder = "120:AAMkADFjMjNjMmNjLWE3NzgtNGIzNC05OGIyLTAwNTgzNjRhN2EzNgAuAAAAAABbwP+Tkhs0TKx1GMf0D/cPAQD2lptUqri0QqRtJVHwOKJDAAACL5KNAAA=AQAAAA==";
rule.Actions = newActions;

// สร้างกฎ
client.CreateInboxRule(rule);

อัปเดตกฎกล่องขาเข้าบน Exchange Server ใน C#

ต่อไปนี้เป็นขั้นตอนในการดึงข้อมูลและอัปเดตกฎกล่องขาเข้าที่มีอยู่บน Exchange Server ใน C#

  • ขั้นแรก เชื่อมต่อกับ Exchange Server และรับอินสแตนซ์ของไคลเอ็นต์ EWS ลงในวัตถุ IEWSClient
  • จากนั้น เรียกใช้เมธอด IEWSClient.GetInboxRules() เพื่อรับกฎทั้งหมดในอาร์เรย์ InboxRule
  • วนซ้ำแต่ละ InboxRule ในอาร์เรย์
  • กรองกฎที่จำเป็นตามเงื่อนไขบางประการ
  • อัปเดตเงื่อนไขหรือการดำเนินการของกฎ
  • สุดท้าย เรียกเมธอด IEWSClient.UpdateInboxRule(InboxRule) เพื่ออัปเดตกฎกล่องขาเข้า

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

// ตั้งค่า mailboxURI ชื่อผู้ใช้ รหัสผ่าน และโดเมน
string mailboxURI = "https://ex2010/ews/exchange.asmx";
string username = "test.exchange";
string password = "pwd";
string domain = "ex2010.local";

// เชื่อมต่อกับเซิร์ฟเวอร์ Exchange
NetworkCredential credential = new NetworkCredential(username, password, domain);
IEWSClient client = EWSClient.GetEWSClient(mailboxURI, credential);

Console.WriteLine("Connected to Exchange server");

// รับกฎกล่องจดหมายทั้งหมด
InboxRule[] inboxRules = client.GetInboxRules();

// วนซ้ำแต่ละกฎ
foreach (InboxRule inboxRule in inboxRules)
{
    if (inboxRule.DisplayName == "Message from client ABC")
    {
        // กฎการปรับปรุง
        inboxRule.Conditions.FromAddresses[0] = new MailAddress("administrator@ex2010.local", true);
        client.UpdateInboxRule(inboxRule);
    }
}

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

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

บทสรุป

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

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