Excluindo Mensagens do Servidor

Excluindo Mensagens

A classe ImapClient pode excluir mensagens de um servidor IMAP. A função DeleteMessage() da classe ImapClient é utilizada para excluir mensagens. Ela recebe o número de sequência da mensagem ou um ID único como parâmetro. A classe ImapClient fornece os métodos DeleteMessage e DeleteMessages para excluir mensagens uma a uma ou múltiplas. O seguinte trecho de código mostra como excluir uma mensagem de email com o ID da mensagem 1 de um servidor IMAP.

using var client = new ImapClient("host", "username", "password");
client.SecurityOptions = SecurityOptions.SSLImplicit;

// Anexar mensagem de teste
client.SelectFolder(ImapFolderInfo.InBox);

var eml = new MailMessage("from@from.com", "to@to.com")
{
  Subject = "Mensagem para excluir",
  Body = "Ei! Esta mensagem será excluída!"
};
var emlId = client.AppendMessage(eml);

// Excluir mensagem anexada
client.DeleteMessage(emlId);
client.CommitDeletes();

Excluindo Múltiplas Mensagens

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

using var client = new ImapClient("host", "username", "password");
client.SelectFolder(ImapFolderInfo.InBox);
            
// Anexar mensagens de teste
var emlList = new List<MailMessage>();
{
  var eml = new MailMessage("from@from.com", "to@to.com")
  {
    Subject = $"Mensagem para excluir {i}",
    Body = "Ei! Esta mensagem será excluída!"
  };
                
  emlList.Add(eml);
}

var appendMessagesResult = client.AppendMessages(emlList);
            
// Excluir em massa mensagens anexadas
client.DeleteMessages(appendMessagesResult.Succeeded.Values, true);
client.CommitDeletes();