从服务器删除邮件
Contents
[
Hide
]
删除消息
该 ImapClient 类可以从 IMAP 服务器删除邮件。 ImapClient 类 deleteMessage() 函数用于删除邮件。它接受消息序列号或唯一 ID 作为参数。 ImapClient 提供 deleteMessage 和 deleteMessages 提供逐个或批量删除邮件的方法。以下代码片段展示了如何从 IMAP 服务器删除消息 ID 为 1 的电子邮件。
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 的 Aspose.Email API。 deleteMessages 方法提供多种选项,可使用唯一 ID、序列号或其他方式从服务器删除多个邮件。 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();
}