Microsoft Exchange Server เป็นแพลตฟอร์มการทำงานร่วมกันที่ใช้กันอย่างแพร่หลายซึ่งให้บริการอีเมล การจัดการที่ติดต่อ ปฏิทิน และบริการอื่นๆ ใน โพสต์ก่อนหน้า เราได้แสดงวิธีเข้าถึงและอ่านอีเมลจาก MS Exchange Server โดยทางโปรแกรมในแอปพลิเคชัน .NET อย่างไรก็ตาม คุณอาจต้องคัดลอกอีเมลจากโฟลเดอร์หนึ่งไปยังอีกโฟลเดอร์หนึ่งบน Exchange Server บทความนี้แสดงวิธีการย้ายอีเมลไปยังโฟลเดอร์ใดโฟลเดอร์หนึ่งบน MS Exchange Server ใน C# .NET
- .NET API เพื่อย้ายอีเมลบน Microsoft Exchange Server
- ย้ายอีเมลที่มีอยู่ไปยังโฟลเดอร์บน MS Exchange Server
- ย้ายอีเมลใหม่ไปยังโฟลเดอร์บน MS Exchange Server
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#
- ขั้นแรก เริ่มต้นวัตถุ IEWSClient โดยใช้ชื่อผู้ใช้ รหัสผ่าน โดเมน และ URI
- จากนั้น รับรายการข้อความอีเมลในวัตถุ ExchangeMessageInfoCollection โดยใช้เมธอด IEWSClient.ListMessages(IEWSClient.MailboxInfo.InboxUri)
- หลังจากนั้น วนซ้ำแต่ละข้อความ ExchangeMessageInfo และกรองข้อความที่ต้องการ
- จากนั้น รับ URI ของข้อความที่จะย้ายโดยใช้คุณสมบัติ ExchangeMessageInfo.UniqueUri
- สุดท้าย ย้ายข้อความอีเมลโดยใช้เมธอด IEWSClient.CopyItem(string URI, IEWSClient.MailboxInfo.DeletedItemsUri)
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการย้ายอีเมลไปยังโฟลเดอร์บน 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 นอกจากนี้ คุณสามารถถามคำถามผ่าน ฟอรัม ของเรา