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

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

The ImapClient класс может удалять сообщения с сервера IMAP. ImapClient class DeleteMessage() функция используется для удаления сообщений. В качестве параметра она принимает порядковый номер сообщения или уникальный идентификатор. ImapClient provides DeleteMessage and 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. 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();