Удаление отдельных и нескольких электронных сообщений с помощью ImapClient

Удаление сообщений

Этот ImapClient класс может удалять сообщения с IMAP‑сервера. The ImapClient класс DeleteMessage() функция используется для удаления сообщений. Она принимает номер последовательности сообщения или уникальный идентификатор в качестве параметра. The ImapClient предоставляет DeleteMessage и DeleteMessages методы для удаления сообщений по одному или сразу несколькими. Следующий фрагмент кода показывает, как удалить сообщение электронной почты с идентификатором 1 на IMAP‑сервере.

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 из API Aspose.Email. The DeleteMessages метод предоставляет ряд вариантов удаления нескольких сообщений с сервера, используя уникальные идентификаторы, номера последовательности или 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();