حذف پیامها از سرور
حذف پیامها
این ImapClient کلاس میتواند پیامها را از یک سرور IMAP حذف کند. ImapClient کلاس deleteMessage() تابعی که برای حذف پیامها استفاده میشود. این تابع شماره توالی پیام یا شناسه یکتا را بهعنوان پارامتر میگیرد. ImapClient فراهم میکند deleteMessage و deleteMessages روشهایی برای حذف پیامها بهصورت تکتک یا بهصورت چندگانه. کد نمونه زیر نشان میدهد چطور یک پیام ایمیل با شناسه پیام ۱ را از یک سرور 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();
}