สร้างและลบโฟลเดอร์บน MS Exchange Server ใน Java

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

Java API เพื่อสร้างโฟลเดอร์บน MS Exchange Server

ในการทำงานกับโฟลเดอร์บน MS Exchange Server โดยใช้ EWS เราจะใช้ Aspose.Email for Java เป็น API ที่มีประสิทธิภาพในการทำงานกับบริการของ 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

  • เชื่อมต่อกับ MS Exchange Server และรับวัตถุไคลเอนต์ EWS ใน IEWSClient
  • ระบุชื่อโฟลเดอร์รูทและโฟลเดอร์ที่คุณต้องการสร้าง
  • สร้างโฟลเดอร์โดยใช้เมธอด IEWSClient.createFolder(String, String)

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

// สร้างอินสแตนซ์ของคลาส EWSClient โดยให้ข้อมูลประจำตัว
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd",
		"domain");

// รับ URI กล่องจดหมาย (เพื่อสร้างโฟลเดอร์ในกล่องจดหมาย)
String inbox = client.getMailboxInfo().getInboxUri();

// ระบุชื่อโฟลเดอร์
String folderName1 = "EMAILNET-35054";

try {
	// สร้างโฟลเดอร์
	client.setUseSlashAsFolderSeparator(true);
	client.createFolder(inbox, folderName1);
} catch (Exception e) {
	// ทำอะไรสักอย่าง
}

สร้างโฟลเดอร์ย่อยบน MS Exchange Server ใน Java

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

  • เชื่อมต่อกับ MS Exchange Server และรับวัตถุไคลเอ็นต์ EWS ใน IEWSClient
  • ระบุชื่อโฟลเดอร์รูทและโฟลเดอร์ย่อย
  • ตรวจสอบว่ามีโฟลเดอร์พาเรนต์อยู่หรือไม่โดยใช้เมธอด IEWSClient.folderExists(String, String) หากไม่มีให้สร้างใหม่
  • สร้างโฟลเดอร์ย่อยโดยใช้เมธอด IEWSClient.createFolder(String, String)

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

// สร้างอินสแตนซ์ของคลาส EWSClient โดยให้ข้อมูลประจำตัว
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");

// รับ URI กล่องจดหมาย (เพื่อสร้างโฟลเดอร์ในกล่องจดหมาย)
String inbox = client.getMailboxInfo().getInboxUri();

// ระบุชื่อโฟลเดอร์
String folderName1 = "EMAILNET-35054";

// ระบุชื่อโฟลเดอร์ย่อย
String subFolderName = "2015";
String folderName2 = folderName1 + "/" + subFolderName;

try
{			
    // สร้างโฟลเดอร์
    client.setUseSlashAsFolderSeparator(true);
    if (!client.folderExists(inbox, folderName1))
    {
        // สร้างโฟลเดอร์
        client.createFolder(inbox, folderName1);
    }

    // สร้างโฟลเดอร์ย่อย
    client.createFolder(inbox, folderName2);
}
catch(Exception e)
{
    // ทำอะไรสักอย่าง
}

ลบโฟลเดอร์บน MS Exchange Server ใน Java

ต่อไปนี้เป็นขั้นตอนในการลบโฟลเดอร์บน MS Exchange Server ใน Java

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

// สร้างอินสแตนซ์ของคลาส EWSClient โดยให้ข้อมูลประจำตัว
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");

// รับ URI กล่องจดหมาย (เพื่อสร้างโฟลเดอร์ในกล่องจดหมาย)
String inbox = client.getMailboxInfo().getInboxUri();

// ระบุชื่อโฟลเดอร์
String folderName1 = "EMAILNET-35054";

ExchangeFolderInfo rootFolderInfo = null;

try
{			
	ExchangeFolderInfo[] referenceToRootFolderInfo = { rootFolderInfo };
	
	// ตรวจสอบว่ามีโฟลเดอร์อยู่หรือไม่
	boolean outRefCondition0 = client.folderExists(inbox, folderName1, /* out */ referenceToRootFolderInfo);
	rootFolderInfo = referenceToRootFolderInfo[0];

	if (outRefCondition0) {		        
	// ลบโฟลเดอร์
	client.deleteFolder(rootFolderInfo.getUri(), true);
	}
}
catch(Exception e)
{
    // ทำอะไรสักอย่าง
}

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

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

บทสรุป

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

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