ทำงานกับโฟลเดอร์บน WebDav

แสดงโฟลเดอร์ทั้งหมดจากเซิร์ฟเวอร์

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

การใช้ WebDav

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

public static void run() {
    try {
        ExchangeClient client = new ExchangeClient("http://ex07sp1/exchange/Administrator", "user", "pwd", "domain");
        System.out.println("Downloading all messages from Inbox....");

        ExchangeMailboxInfo mailboxInfo = client.getMailboxInfo();
        System.out.println("Mailbox URI: " + mailboxInfo.getMailboxUri());
        String rootUri = client.getMailboxInfo().getRootUri();
        // List all the folders from Exchange server
        ExchangeFolderInfoCollection folderInfoCollection = client.listSubFolders(rootUri);
        for (ExchangeFolderInfo folderInfo : folderInfoCollection) {
            // Call the recursive method to read messages and get sub-folders
            listSubFolders(client, folderInfo);
        }

        System.out.println("All messages downloaded.");
    } catch (Exception ex) {
        System.err.println(ex);
    }
}

private static void listSubFolders(ExchangeClient client, ExchangeFolderInfo folderInfo) {
    System.out.println(folderInfo.getDisplayName());
    try {
        // If this folder has sub-folders, call this method recursively to get messages
        ExchangeFolderInfoCollection folderInfoCollection = client.ListSubFolders(folderInfo.Uri);
        for (ExchangeFolderInfo subfolderInfo : folderInfoCollection) {
            listSubFolders(client, subfolderInfo);
        }
    } catch (Exception ex) {
        System.err.println(ex);
    }
}