Excluir Mensagens de E‑mail Únicas e Múltiplas com ImapClient

Excluindo Mensagens

O ImapClient classe pode excluir mensagens de um servidor IMAP. O ImapClient classe DeleteMessage() função é usada para excluir mensagens. Ela recebe o número de sequência da mensagem ou ID único como parâmetro. O ImapClient fornece DeleteMessage e DeleteMessages métodos para excluir mensagens uma a uma ou múltiplas. O trecho de código a seguir mostra como excluir uma mensagem de e‑mail com o ID 1 de um servidor 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();

Excluindo múltiplas mensagens

Vários e‑mails podem ser excluídos da caixa de correio usando o ImapClient da API Aspose.Email. O DeleteMessages método fornece várias opções para excluir múltiplas mensagens do servidor usando IDs únicos, números de sequência ou ImapMessageInfoCollection elementos. O trecho de código a seguir mostra como excluir múltiplas mensagens.

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();