Microsoft Exchange Server เก็บอีเมลไว้ในโฟลเดอร์ต่างๆ เช่น กล่องขาเข้า กล่องขาออก ฯลฯ นอกจากนี้ยังอนุญาตให้คุณสร้างโฟลเดอร์หรือโฟลเดอร์ย่อยของคุณเองภายในโฟลเดอร์ที่กำหนดไว้ล่วงหน้า ในบางกรณี คุณอาจต้องสร้างโฟลเดอร์แบบกำหนดเองบน Exchange Server โดยทางโปรแกรม บทความนี้ครอบคลุมถึงวิธีการสร้างหรือลบโฟลเดอร์หรือโฟลเดอร์ย่อยด้วย EWS บน MS Exchange Server ใน Java
- Java API เพื่อสร้างโฟลเดอร์ด้วย EWS บน MS Exchange Server
- สร้างโฟลเดอร์บน MS Exchange Server
- สร้างโฟลเดอร์ย่อยบน MS Exchange Server
- ลบโฟลเดอร์บน MS Exchange Server
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 และรับวัตถุไคลเอนต์ EWS ใน IEWSClient
- ตรวจสอบว่ามีโฟลเดอร์อยู่หรือไม่โดยใช้เมธอด IEWSClient.folderExists(String, String, ExchangeFolderInfo[])
- ลบโฟลเดอร์โดยใช้เมธอด IEWSClient.deleteFolder(String, boolean)
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการลบโฟลเดอร์บน 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 ได้จาก เอกสารประกอบ ในกรณีที่คุณมีข้อสงสัย คุณสามารถโพสต์ได้ที่ ฟอรัม ของเรา