การลบข้อความจากเซิร์ฟเวอร์
Contents
[
Hide
]
ลบข้อความ
นี้ ImapClient คลาสนี้สามารถลบข้อความจากเซิร์ฟเวอร์ IMAP. ImapClient คลาส deleteMessage() ฟังก์ชันนี้ใช้เพื่อลบข้อความ มันรับลำดับหมายเลขข้อความหรือไอดีที่ไม่ซ้ำเป็นพารามิเตอร์. ImapClient ให้บริการ deleteMessage และ deleteMessages เมธอดสำหรับลบข้อความทีละหนึ่งหรือหลายข้อความ ตัวอย่างโค้ดต่อไปนี้แสดงวิธีลบอีเมลที่มี ID ข้อความเป็น 1 จากเซิร์ฟเวอร์ IMAP.
try (ImapClient client = new ImapClient("host", "username", "password")) {
client.setSecurityOptions(SecurityOptions.SSLImplicit);
// Append test message
client.selectFolder(ImapFolderInfo.IN_BOX);
MailMessage eml = new MailMessage("from@from.com", "to@to.com");
eml.setSubject("Message to delete");
eml.setBody("Hey! This Message will be deleted!");
String emlId = client.appendMessage(eml);
// Delete appended message
client.deleteMessage(emlId);
client.commitDeletes();
}
การลบหลายข้อความ
อีเมลหลายฉบับสามารถลบจากกล่องจดหมายโดยใช้ ImapClient ของ API Aspose.Email. deleteMessages เมธอดนี้ให้ตัวเลือกหลายอย่างเพื่อทำการลบหลายข้อความจากเซิร์ฟเวอร์โดยใช้ไอดีที่ไม่ซ้ำกัน ลำดับหมายเลข หรือ ImapMessageInfoCollection อิลิเมนต์ ต่อไปนี้เป็นตัวอย่างโค้ดที่แสดงวิธีลบหลายข้อความ
try (ImapClient client = new ImapClient("host", "username", "password")) {
client.selectFolder(ImapFolderInfo.IN_BOX);
// Append test messages
List<MailMessage> emlList = new ArrayList<>();
for (int i = 0; i < 3; i++) {
MailMessage eml = new MailMessage("from@from.com", "to@to.com");
eml.setSubject("Message to delete " + i);
eml.setBody("Hey! This Message will be deleted!");
emlList.add(eml);
}
AppendMessagesResult appendMessagesResult = client.appendMessages(emlList);
List<String> uidList = new ArrayList<>();
for (String uid : appendMessagesResult.getSucceeded().getValues()) {
uidList.add(uid);
}
// Bulk Delete appended Messages
client.deleteMessagesByUids(uidList, true);
client.commitDeletes();
}