Thông thường, một email bao gồm nhiều thư (hoặc thư trả lời) tạo thành một chuỗi. Trong Microsoft Exchange Server, các chuỗi này được gọi là hội thoại. Trong khi làm việc với MS Exchange Server theo chương trình, bạn có thể cần truy cập và quản lý các cuộc hội thoại. Để thực hiện điều đó, trong bài viết này, bạn sẽ học cách tìm, sao chép, di chuyển và xóa các cuộc hội thoại trên Microsoft Exchange Server bằng Java.
- API Java để làm việc với các cuộc hội thoại trên MS Exchange Server
- Tìm cuộc hội thoại trên MS Exchange Server bằng Java
- Sao chép cuộc hội thoại trên MS Exchange Server bằng Java
- Di chuyển cuộc hội thoại trên MS Exchange Server trong Java
- Xóa cuộc hội thoại trên MS Exchange Server trong Java
API Java để làm việc với các cuộc hội thoại trên MS Exchange Server
Để làm việc với các cuộc hội thoại trên Microsoft Exchange Server, chúng tôi sẽ sử dụng Aspose.Email dành cho Java. Đây là một API tuyệt vời cung cấp một loạt các tính năng để hoạt động với MS Exchange Server từ bên trong các ứng dụng Java. Bạn có thể tải xuống API hoặc cài đặt nó bằng cách sử dụng các cấu hình Maven sau.
Kho:
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
Sự phụ thuộc:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-email</artifactId>
<version>22.2</version>
<classifier>jdk16</classifier>
</dependency>
Tìm cuộc hội thoại trên MS Exchange Server bằng Java
Sau đây là các bước để tìm các cuộc hội thoại từ một thư mục trong MS Exchange Server bằng Java.
- Đầu tiên, tạo và khởi tạo đối tượng NetworkCredential với tên người dùng, mật khẩu và miền.
- Sau đó, khởi tạo IEWSClient với URI hộp thư và đối tượng NetworkCredential.
- Gọi phương thức IEWSClient.findConversations (IEWSClient.getMailboxInfo(). GetInboxUri()) và nhận các cuộc hội thoại trong mảng ExchangeConversation.
- Cuối cùng, lặp qua từng đối tượng ExchangeConversation trong mảng và truy xuất chi tiết của nó.
Mẫu mã sau đây cho thấy cách tìm các cuộc hội thoại từ một thư mục trong MS Exchange Server bằng Java.
// Đặt URI hộp thư, tên người dùng, mật khẩu, thông tin miền
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");
// Tìm các mục hội thoại trong thư mục hộp thư đến
ExchangeConversation[] conversations = client.findConversations(client.getMailboxInfo().getInboxUri());
// Hiển thị tất cả các cuộc trò chuyện
for (ExchangeConversation conversation : conversations) {
// Hiển thị các thuộc tính hội thoại như Id và Chủ đề
System.out.println("Topic: " + conversation.getConversationTopic());
System.out.println("Flag Status: " + conversation.getFlagStatus());
System.out.println();
}
Sao chép cuộc hội thoại trên MS Exchange Server bằng Java
Bạn cũng có thể sao chép các cuộc hội thoại từ thư mục này sang thư mục khác. Chúng ta hãy xem cách sao chép các cuộc hội thoại từ hộp thư đến vào thư mục các mục đã xóa của Exchange Server trong Java.
- Đầu tiên, tạo và khởi tạo đối tượng NetworkCredential với tên người dùng, mật khẩu và miền.
- Sau đó, khởi tạo IEWSClient với URI hộp thư và đối tượng NetworkCredential.
- Gọi phương thức IEWSClient.findConversations (IEWSClient.getMailboxInfo(). GetInboxUri())) và nhận các cuộc hội thoại trong mảng ExchangeConversation.
- Lặp qua từng đối tượng ExchangeConversation trong mảng và bộ lọc được yêu cầu một (các).
- Cuối cùng, sao chép cuộc hội thoại bằng phương thức IEWSClient.copyConversationItems (ExchangeConversation.getConversationId(), IEWSClient.getMailboxInfo(). GetDeletedItemsUri()).
Mẫu mã sau đây cho thấy cách sao chép một cuộc hội thoại trong MS Exchange Server bằng Java.
// Đặt URI hộp thư, tên người dùng, mật khẩu, thông tin miền
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");
// Tìm các mục hội thoại trong thư mục hộp thư đến
ExchangeConversation[] conversations = client.findConversations(client.getMailboxInfo().getInboxUri());
// Hiển thị tất cả các cuộc trò chuyện
for (ExchangeConversation conversation : conversations) {
System.out.println("Topic: " + conversation.getConversationTopic());
// Sao chép mục hội thoại dựa trên một số điều kiện
if (conversation.getConversationTopic().contains("test email")) {
client.copyConversationItems(conversation.getConversationId(), client.getMailboxInfo().getDeletedItemsUri());
System.out.println("Copied the conversation item to another folder");
}
}
Di chuyển cuộc hội thoại trên MS Exchange Server trong Java
Trong phần trước, chúng ta vừa sao chép các cuộc hội thoại từ thư mục này sang thư mục khác. Tuy nhiên, trong một số trường hợp nhất định, bạn có thể cần phải chuyển một cuộc hội thoại vào một thư mục cụ thể. Sau đây là các bước để di chuyển một cuộc hội thoại trong MS Exchange Server bằng Java.
- Đầu tiên, tạo và khởi tạo đối tượng NetworkCredential với tên người dùng, mật khẩu và miền.
- Sau đó, khởi tạo IEWSClient với URI hộp thư và đối tượng NetworkCredential.
- Gọi phương thức IEWSClient.findConversations (IEWSClient.getMailboxInfo(). GetInboxUri())) và nhận các cuộc hội thoại trong mảng ExchangeConversation.
- Lặp qua từng đối tượng ExchangeConversation trong mảng và bộ lọc được yêu cầu một (các).
- Cuối cùng, di chuyển cuộc hội thoại bằng phương thức IEWSClient.moveConversationItems (ExchangeConversation.getConversationId(), IEWSClient.getMailboxInfo(). GetDeletedItemsUri()).
Mẫu mã sau đây cho thấy cách di chuyển một cuộc hội thoại trong MS Exchange Server bằng Java.
// Đặt URI hộp thư, tên người dùng, mật khẩu, thông tin miền
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");
// Tìm các mục hội thoại trong thư mục hộp thư đến
ExchangeConversation[] conversations = client.findConversations(client.getMailboxInfo().getInboxUri());
// Hiển thị tất cả các cuộc trò chuyện
for (ExchangeConversation conversation : conversations) {
System.out.println("Topic: " + conversation.getConversationTopic());
// Di chuyển mục hội thoại dựa trên một số điều kiện
if (conversation.getConversationTopic().contains("test email") == true) {
client.moveConversationItems(conversation.getConversationId(), client.getMailboxInfo().getDeletedItemsUri());
System.out.println("Moved the conversation item to another folder");
}
}
Xóa cuộc hội thoại trên MS Exchange Server trong Java
Cuối cùng, chúng ta hãy xem cách xóa một cuộc hội thoại khỏi MS Exchange Server trong Java.
- Đầu tiên, tạo và khởi tạo đối tượng NetworkCredential với tên người dùng, mật khẩu và miền.
- Sau đó, khởi tạo IEWSClient với URI hộp thư và đối tượng NetworkCredential.
- Gọi phương thức IEWSClient.findConversations (IEWSClient.getMailboxInfo(). GetInboxUri()) và nhận các cuộc hội thoại trong mảng ExchangeConversation.
- Lặp qua từng đối tượng ExchangeConversation trong mảng và bộ lọc được yêu cầu một (các).
- Cuối cùng, xóa một cuộc hội thoại bằng phương pháp IEWSClient.deleteConversationItems (ExchangeConversation.getConversationId()).
Mẫu mã sau đây cho thấy cách xóa một cuộc hội thoại khỏi MS Exchange Server trong Java.
// Đặt URI hộp thư, tên người dùng, mật khẩu, thông tin miền
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");
// Tìm các mục hội thoại trong thư mục hộp thư đến
ExchangeConversation[] conversations = client.findConversations(client.getMailboxInfo().getInboxUri());
// Hiển thị tất cả các cuộc trò chuyện
for (ExchangeConversation conversation : conversations) {
System.out.println("Topic: " + conversation.getConversationTopic());
// Xóa mục hội thoại dựa trên một số điều kiện
if (conversation.getConversationTopic().contains("test email") == true) {
client.deleteConversationItems(conversation.getConversationId());
System.out.println("Deleted the conversation item");
}
}
Nhận giấy phép API miễn phí
Bạn có thể nhận giấy phép tạm thời miễn phí để sử dụng Aspose.Email dành cho Java mà không có giới hạn đánh giá.
Sự kết luận
Trong bài viết này, bạn đã học cách quản lý các cuộc hội thoại trong Microsoft Exchange Server bằng Java. Bạn đã thấy cách tìm, sao chép, di chuyển và xóa một cuộc hội thoại trên MS Exchange Server theo lập trình trong Java. Ngoài ra, bạn có thể khám phá tài liệu để đọc thêm về Aspose.Email for Java. Ngoài ra, bạn có thể đặt câu hỏi của mình qua diễn đàn của chúng tôi.