ย้ายอีเมลไปยังโฟลเดอร์ใน Microsoft Exchange Server โดยใช้ C#

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

C# .NET API เพื่อย้ายอีเมลบน Microsoft Exchange Server

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

PM> Install-Package Aspose.Email

ย้ายอีเมลไปยังโฟลเดอร์บน MS Exchange Server ใน C#

ต่อไปนี้เป็นขั้นตอนในการย้ายอีเมลไปยังโฟลเดอร์เฉพาะบน MS Exchange Server ใน C#

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

try
{
    // สร้างอินสแตนซ์ของคลาส EWSClient โดยให้ข้อมูลประจำตัว
    IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");

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

    // วนซ้ำคอลเลกชันเพื่อรับข้อความ URI
    foreach (ExchangeMessageInfo msgInfo in msgCollection)
    {
        if (msgInfo.From.Address.Contains("jhon.vick"))
        {
            String strMessageURI = msgInfo.UniqueUri;

            // คัดลอกไปยังโฟลเดอร์เฉพาะ
            string newMessageUri = client.CopyItem(strMessageURI, client.MailboxInfo.DeletedItemsUri);
        }
    }                
}
catch (Exception ex)
{
    Console.WriteLine(ex.Message);
}

ย้ายอีเมลใหม่ไปยังโฟลเดอร์บน MS Exchange Server

คุณยังสามารถย้ายอีเมลที่สร้างขึ้นใหม่ไปยังโฟลเดอร์เฉพาะใน MS Exchange Server ต่อไปนี้เป็นขั้นตอนในการดำเนินการนี้

  • ก่อนอื่น ให้เริ่มต้นวัตถุ IEWSClient โดยใช้ชื่อผู้ใช้ รหัสผ่าน โดเมน และ URI
  • จากนั้น สร้างข้อความใหม่โดยใช้คลาส MailMessage
  • หลังจากนั้น รับ URI ของข้อความอีเมลที่ส่งคืนโดยเมธอด IEWSClient.AppendMessage(MailMessage)
  • สุดท้าย ย้ายข้อความอีเมลโดยใช้เมธอด IEWSClient.CopyItem(string URI, IEWSClient.MailboxInfo.OutboxUri)

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการย้ายข้อความอีเมลใหม่ไปยังโฟลเดอร์ใน MS Exchange Server

try
{
    // สร้างอินสแตนซ์ของคลาส EWSClient โดยให้ข้อมูลประจำตัว
    IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");

    // สร้างข้อความ
    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");

    // รับข้อความ URI
    string messageUri = client.AppendMessage(message);

    // คัดลอกข้อความ
    string newMessageUri = client.CopyItem(messageUri, client.MailboxInfo.OutboxUri);
}
catch (Exception ex)
{
    Console.WriteLine(ex.Message);
}

รับใบอนุญาต API ฟรี

คุณสามารถรับ ใบอนุญาตชั่วคราวฟรี เพื่อใช้ Aspose.Email for .NET โดยไม่มีข้อจำกัดในการประเมิน

บทสรุป

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

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