使用 ImapClient 删除单个或多个电子邮件消息
Contents
[
Hide
]
删除消息
该 ImapClient 类可以从 IMAP 服务器删除邮件。 ImapClient 类 DeleteMessage() 函数用于删除邮件。它接受消息序列号或唯一 ID 作为参数。 ImapClient 提供 DeleteMessage 和 DeleteMessages 提供逐个或批量删除邮件的方法。以下代码片段展示了如何从 IMAP 服务器删除消息 ID 为 1 的电子邮件。
using var client = new ImapClient("host", "username", "password");
client.SecurityOptions = SecurityOptions.SSLImplicit;
// Append test message
client.SelectFolder(ImapFolderInfo.InBox);
var eml = new MailMessage("from@from.com", "to@to.com")
{
Subject = "Message to delete",
Body = "Hey! This Message will be deleted!"
};
var emlId = client.AppendMessage(eml);
// Delete appended message
client.DeleteMessage(emlId);
client.CommitDeletes();
删除多个邮件
可以使用该方式从邮箱中删除多个电子邮件 ImapClient 的 Aspose.Email API。 DeleteMessages 方法提供多种选项,可使用唯一 ID、序列号或其他方式从服务器删除多个邮件。 ImapMessageInfoCollection 元素。以下代码片段展示了如何删除多个邮件。
using var client = new ImapClient("host", "username", "password");
client.SelectFolder(ImapFolderInfo.InBox);
// Append test messages
var emlList = new List<MailMessage>();
{
var eml = new MailMessage("from@from.com", "to@to.com")
{
Subject = $"Message to delete {i}",
Body = "Hey! This Message will be deleted!"
};
emlList.Add(eml);
}
var appendMessagesResult = client.AppendMessages(emlList);
// Bulk Delete appended Messages
client.DeleteMessages(appendMessagesResult.Succeeded.Values, true);
client.CommitDeletes();