ทำงานกับการสนทนาบน MS Exchange Server ใน Java

บ่อยครั้ง อีเมลจะประกอบด้วยข้อความ (หรือการตอบกลับ) หลายข้อความรวมกันเป็นชุดข้อความ ใน Microsoft Exchange Server เธรดเหล่านี้เรียกว่าการสนทนา ในขณะที่ทำงานกับ MS Exchange Server โดยทางโปรแกรม คุณอาจต้องเข้าถึงและจัดการการสนทนา ในบทความนี้ คุณจะได้เรียนรู้วิธีค้นหา คัดลอก ย้าย และลบการสนทนาบน Microsoft Exchange Server ใน Java

Java API เพื่อทำงานกับการสนทนาบน MS Exchange Server

ในการทำงานกับการสนทนาบน Microsoft Exchange Server เราจะใช้ Aspose.Email for Java เป็น API ที่น่าทึ่งซึ่งมีคุณสมบัติมากมายสำหรับการทำงานกับ MS Exchange Server จากภายในแอปพลิเคชัน Java คุณสามารถ ดาวน์โหลด API หรือติดตั้งโดยใช้การกำหนดค่า Maven ต่อไปนี้

พื้นที่เก็บข้อมูล:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>

การพึ่งพา:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-email</artifactId>
    <version>22.2</version>
    <classifier>jdk16</classifier>
</dependency>

ค้นหาการสนทนาบน MS Exchange Server ใน Java

ต่อไปนี้เป็นขั้นตอนในการค้นหาการสนทนาจากโฟลเดอร์ใน MS Exchange Server โดยใช้ Java

  • ขั้นแรก สร้างและเริ่มต้นวัตถุ NetworkCredential ด้วยชื่อผู้ใช้ รหัสผ่าน และโดเมน
  • จากนั้น เริ่มต้น IEWSClient ด้วยกล่องจดหมาย URI และวัตถุ NetworkCredential
  • โทร IEWSClient.findConversations(IEWSClient.getMailboxInfo().getInboxUri()) และรับการสนทนาในอาร์เรย์ ExchangeConversation
  • สุดท้าย วนซ้ำแต่ละออบเจกต์ ExchangeConversation ในอาร์เรย์และรับรายละเอียด

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

// ตั้งค่า URI ของกล่องจดหมาย ชื่อผู้ใช้ รหัสผ่าน ข้อมูลโดเมน
String mailboxUri = "https://ex2010/ews/exchange.asmx";
String username = "test.exchange";
String password = "pwd";
String domain = "ex2010.local";
NetworkCredential credentials = new NetworkCredential(username, password, domain);

IEWSClient client = EWSClient.getEWSClient(mailboxUri, credentials);
System.out.println("Connected to Exchange");

// ค้นหารายการสนทนาในโฟลเดอร์กล่องขาเข้า
ExchangeConversation[] conversations = client.findConversations(client.getMailboxInfo().getInboxUri());

// แสดงการสนทนาทั้งหมด
for (ExchangeConversation conversation : conversations) {
	// แสดงคุณสมบัติการสนทนา เช่น รหัสและหัวข้อ
	System.out.println("Topic: " + conversation.getConversationTopic());
	System.out.println("Flag Status: " + conversation.getFlagStatus());
	System.out.println();
}

คัดลอกการสนทนาบน MS Exchange Server ใน Java

คุณยังสามารถคัดลอกการสนทนาจากโฟลเดอร์หนึ่งไปยังอีกโฟลเดอร์หนึ่งได้อีกด้วย มาดูวิธีคัดลอกการสนทนาจากกล่องจดหมายไปยังโฟลเดอร์รายการที่ถูกลบของ Exchange Server ใน Java

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการคัดลอกการสนทนาใน MS Exchange Server โดยใช้ Java

// ตั้งค่า URI ของกล่องจดหมาย ชื่อผู้ใช้ รหัสผ่าน ข้อมูลโดเมน
String mailboxUri = "https://ex2010/ews/exchange.asmx";
String username = "test.exchange";
String password = "pwd";
String domain = "ex2010.local";
NetworkCredential credentials = new NetworkCredential(username, password, domain);

IEWSClient client = EWSClient.getEWSClient(mailboxUri, credentials);
System.out.println("Connected to Exchange");

// ค้นหารายการสนทนาในโฟลเดอร์กล่องขาเข้า
ExchangeConversation[] conversations = client.findConversations(client.getMailboxInfo().getInboxUri());

// แสดงการสนทนาทั้งหมด
for (ExchangeConversation conversation : conversations) {
	System.out.println("Topic: " + conversation.getConversationTopic());
    
	// คัดลอกรายการสนทนาตามเงื่อนไขบางประการ
    if (conversation.getConversationTopic().contains("test email")) {
        client.copyConversationItems(conversation.getConversationId(), client.getMailboxInfo().getDeletedItemsUri());
        System.out.println("Copied the conversation item to another folder");
    }
}

ย้ายการสนทนาบน MS Exchange Server ใน Java

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

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการย้ายการสนทนาใน MS Exchange Server โดยใช้ Java

// ตั้งค่า URI ของกล่องจดหมาย ชื่อผู้ใช้ รหัสผ่าน ข้อมูลโดเมน
String mailboxUri = "https://ex2010/ews/exchange.asmx";
String username = "test.exchange";
String password = "pwd";
String domain = "ex2010.local";
NetworkCredential credentials = new NetworkCredential(username, password, domain);

IEWSClient client = EWSClient.getEWSClient(mailboxUri, credentials);
System.out.println("Connected to Exchange");

// ค้นหารายการสนทนาในโฟลเดอร์กล่องขาเข้า
ExchangeConversation[] conversations = client.findConversations(client.getMailboxInfo().getInboxUri());

// แสดงการสนทนาทั้งหมด
for (ExchangeConversation conversation : conversations) {
	System.out.println("Topic: " + conversation.getConversationTopic());
    
	// ย้ายรายการสนทนาตามเงื่อนไขบางประการ
    if (conversation.getConversationTopic().contains("test email") == true) {
        client.moveConversationItems(conversation.getConversationId(), client.getMailboxInfo().getDeletedItemsUri());
        System.out.println("Moved the conversation item to another folder");
    }
}

ลบการสนทนาบน MS Exchange Server ใน Java

ในตอนท้าย มาดูวิธีการลบการสนทนาจาก MS Exchange Server ใน Java

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการลบการสนทนาจาก MS Exchange Server ใน Java

// ตั้งค่า URI ของกล่องจดหมาย ชื่อผู้ใช้ รหัสผ่าน ข้อมูลโดเมน
String mailboxUri = "https://ex2010/ews/exchange.asmx";
String username = "test.exchange";
String password = "pwd";
String domain = "ex2010.local";
NetworkCredential credentials = new NetworkCredential(username, password, domain);

IEWSClient client = EWSClient.getEWSClient(mailboxUri, credentials);
System.out.println("Connected to Exchange");

// ค้นหารายการสนทนาในโฟลเดอร์กล่องขาเข้า
ExchangeConversation[] conversations = client.findConversations(client.getMailboxInfo().getInboxUri());

// แสดงการสนทนาทั้งหมด
for (ExchangeConversation conversation : conversations) {
	System.out.println("Topic: " + conversation.getConversationTopic());
    
	// ลบรายการสนทนาตามเงื่อนไขบางประการ
    if (conversation.getConversationTopic().contains("test email") == true) {
        client.deleteConversationItems(conversation.getConversationId());
        System.out.println("Deleted the conversation item");
    }
}

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

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

บทสรุป

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

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