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.
- El número de secuencia de un mensaje o su ID único.
- 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"); | |
} | |