Trabalhando com Flags de Mensagem no Servidor

Alterando as Flags de Mensagem

Você pode alterar as flags de mensagem usando o método ChangeMessageFlags(). Este método aceita dois parâmetros.

  1. O número de sequência de uma mensagem ou seu ID único.
  2. MessageFlag.

As seguintes flags podem ser configuradas:

Definindo Flags de Mensagem

O seguinte trecho de código mostra como mudar as flags de mensagem em um servidor IMAP com Aspose.Email.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET
// Mark the message as read
client.ChangeMessageFlags(1, ImapMessageFlags.IsRead);

Removendo Flags de Mensagem

As flags de mensagem também podem ser removidas com o método RemoveMessageFlags(). O uso é semelhante ao do método ChangeMessageFlags(). Ele aceita um número de sequência ou ID único da mensagem e MessageFlag. O seguinte trecho de código mostra como remover as flags de mensagem.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET
// Remove the message flag
client.RemoveMessageFlags(1, ImapMessageFlags.IsRead);

Definindo Flags Personalizadas

Você também pode definir flags personalizadas para uma mensagem usando o ImapClient da API. O ImapClient AddMessageFlags oferece a capacidade de definir flags personalizadas em mensagens.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET
// Create a message
MailMessage message = new MailMessage("user@domain1.com", "user@domain2.com", "subject", "message");
//Append the message to mailbox
string uid = client.AppendMessage(ImapFolderInfo.InBox, message);
//Add custom flags to the added messge
client.AddMessageFlags(uid, ImapMessageFlags.Keyword("custom1") | ImapMessageFlags.Keyword("custom1_0"));
//Retreive the messages for checking the presence of custom flag
client.SelectFolder(ImapFolderInfo.InBox);
ImapMessageInfoCollection messageInfos = client.ListMessages();
foreach (var inf in messageInfos)
{
ImapMessageFlags[] flags = inf.Flags.Split();
if (inf.ContainsKeyword("custom1"))
Console.WriteLine("Keyword found");
}