Tạo và xóa thư mục trên MS Exchange Server trong Java

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.

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.

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.

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.

Xem thêm