Trabajando con las Banderas de Mensaje en el Servidor

Cambio de las Banderas de Mensaje

Puedes cambiar las banderas de mensaje utilizando el método ChangeMessageFlags(). Este método toma dos parámetros.

  1. El número de secuencia de un mensaje o su ID único.
  2. MessageFlag.

Se pueden establecer las siguientes banderas:

Establecer Banderas de Mensaje

El siguiente fragmento de código te muestra cómo cambiar las banderas de mensaje en un servidor IMAP con 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);

Eliminar Banderas de Mensaje

Las banderas de mensaje también se pueden eliminar con el método RemoveMessageFlags(). El uso es similar al del método ChangeMessageFlags(). Toma un número de secuencia o un ID único de mensaje y MessageFlag. El siguiente fragmento de código te muestra cómo eliminar las banderas de mensaje.

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

Establecer Banderas Personalizadas

También puedes establecer banderas personalizadas en un mensaje utilizando el ImapClient de la API. El método AddMessageFlags de ImapClient proporciona la capacidad de establecer banderas personalizadas en los mensajes.

// 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");
}