Видаляти окремі та кілька електронних повідомлень за допомогою ImapClient

Видалення повідомлень

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