Microsoft Exchange Server giữ email trong các thư mục khác nhau như hộp thư đến, hộp thư đi, v.v. Ngoài ra, nó cho phép bạn tạo các thư mục hoặc thư mục con của riêng mình bên trong các thư mục được xác định trước. Trong một số trường hợp nhất định, bạn có thể cần tạo các thư mục tùy chỉnh trên Exchange Server theo chương trình. Để thực hiện điều đó, bài viết này trình bày cách tạo hoặc xóa các thư mục hoặc thư mục con bằng EWS trên MS Exchange Server trong Java.
- Java API để tạo thư mục với EWS trên MS Exchange Server
- Tạo một thư mục trên MS Exchange Server
- Tạo một thư mục con trên MS Exchange Server
- Xóa một thư mục trên MS Exchange Server
API Java để tạo thư mục trên MS Exchange Server
Để làm việc với các thư mục trên MS Exchange Server bằng EWS, chúng tôi sẽ sử dụng Aspose.Email for Java. Nó là một API mạnh mẽ để làm việc với các dịch vụ của 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ạo một thư mục trên MS Exchange Server trong Java
Sau đây là các bước để tạo một thư mục trên MS Exchange Server bằng Java.
- Kết nối với Máy chủ MS Exchange và nhận đối tượng máy khách EWS trong IEWSClient.
- Chỉ định tên của thư mục gốc và thư mục bạn muốn tạo.
- Tạo thư mục bằng phương thức IEWSClient.createFolder (String, String).
Mẫu mã sau đây cho thấy cách tạo một thư mục trên MS Exchange Server với EWS trong Java.
// Tạo phiên bản của lớp EWSClient bằng cách cung cấp thông tin xác thực
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd",
"domain");
// Nhận URI hộp thư đến (để tạo thư mục trong hộp thư đến)
String inbox = client.getMailboxInfo().getInboxUri();
// Chỉ định tên thư mục
String folderName1 = "EMAILNET-35054";
try {
// Tạo thư mục
client.setUseSlashAsFolderSeparator(true);
client.createFolder(inbox, folderName1);
} catch (Exception e) {
// Làm việc gì đó
}
Tạo một thư mục con trên MS Exchange Server trong Java
Để tạo một thư mục con, trước tiên bạn cần kiểm tra xem thư mục mẹ có tồn tại hay không. Nếu có, chỉ cần tạo thư mục con, nếu không, hãy tạo thư mục mẹ trước. Các bước sau đây trình bày cách tạo một thư mục con trên MS Exchange Server trong Java.
- Kết nối với Máy chủ MS Exchange và nhận đối tượng máy khách EWS trong IEWSClient.
- Chỉ định tên của thư mục gốc và thư mục con.
- Kiểm tra xem thư mục mẹ có tồn tại hay không bằng cách sử dụng phương thức IEWSClient.folderExists (String, String). Nếu không, hãy tạo một cái.
- Tạo thư mục con bằng phương thức IEWSClient.createFolder (String, String).
Mẫu mã sau đây cho thấy cách tạo một thư mục con trên MS Exchange Server trong Java.
// Tạo phiên bản của lớp EWSClient bằng cách cung cấp thông tin xác thực
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
// Nhận URI hộp thư đến (để tạo thư mục trong hộp thư đến)
String inbox = client.getMailboxInfo().getInboxUri();
// Chỉ định tên thư mục
String folderName1 = "EMAILNET-35054";
// Chỉ định tên thư mục con
String subFolderName = "2015";
String folderName2 = folderName1 + "/" + subFolderName;
try
{
// Tạo thư mục
client.setUseSlashAsFolderSeparator(true);
if (!client.folderExists(inbox, folderName1))
{
// Tạo thư mục
client.createFolder(inbox, folderName1);
}
// Tạo thư mục con
client.createFolder(inbox, folderName2);
}
catch(Exception e)
{
// Làm việc gì đó
}
Xóa một thư mục trên MS Exchange Server trong Java
Sau đây là các bước để xóa một thư mục trên MS Exchange Server trong Java.
- Kết nối với Máy chủ MS Exchange và nhận đối tượng máy khách EWS trong IEWSClient.
- Kiểm tra xem thư mục có tồn tại hay không bằng cách sử dụng phương thức IEWSClient.folderExists (String, String, ExchangeFolderInfo []).
- Xóa thư mục bằng phương pháp IEWSClient.deleteFolder (String, boolean).
Mẫu mã sau đây cho thấy cách xóa một thư mục trên MS Exchange Server trong Java.
// Tạo phiên bản của lớp EWSClient bằng cách cung cấp thông tin xác thực
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
// Nhận URI hộp thư đến (để tạo thư mục trong hộp thư đến)
String inbox = client.getMailboxInfo().getInboxUri();
// Chỉ định tên thư mục
String folderName1 = "EMAILNET-35054";
ExchangeFolderInfo rootFolderInfo = null;
try
{
ExchangeFolderInfo[] referenceToRootFolderInfo = { rootFolderInfo };
// Kiểm tra xem thư mục có tồn tại không
boolean outRefCondition0 = client.folderExists(inbox, folderName1, /* out */ referenceToRootFolderInfo);
rootFolderInfo = referenceToRootFolderInfo[0];
if (outRefCondition0) {
// Xóa thư mục
client.deleteFolder(rootFolderInfo.getUri(), true);
}
}
catch(Exception e)
{
// Làm việc gì đó
}
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 làm việc với các thư mục trên Microsoft Exchange Server với EWS trong Java. Bạn đã thấy cách tạo và xóa một thư mục cụ thể trên MS Exchange Server theo lập trình trong Java. Ngoài ra, bạn có thể tìm hiểu thêm về Aspose.Email dành cho Java từ tài liệu. Trong trường hợp bạn có bất kỳ câu hỏi nào, bạn có thể đăng chúng lên diễn đàn của chúng tôi.