Trabajando con marcas de mensajes en el servidor

Cambiar las banderas de los mensajes

Puede cambiar las marcas de los mensajes mediante el changeMessageFlags() método. Este método toma dos parámetros.

  1. El número de secuencia del mensaje o el identificador único.
  2. MessageFlag.

Se pueden configurar los siguientes indicadores:

Configuración de banderas de mensajes

El siguiente fragmento de código muestra cómo cambiar las marcas de mensajes en un servidor IMAP con Aspose.Email.

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

Eliminar marcas de mensajes

Las marcas de mensajes también se pueden eliminar con la removeMessageFlags() método. El uso es similar al del changeMessageFlags() método. Toma un número de secuencia o un identificador de mensaje único y MessageFlag. En el siguiente fragmento de código, se muestra cómo eliminar las marcas de mensajes.

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

Configuración de banderas personalizadas

También puedes configurar marcas personalizadas para un mensaje mediante el ImapClient de la API. El iMapClient AddMessageFlags ofrece la posibilidad de establecer marcas personalizadas en los mensajes.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// 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.IN_BOX, message);

// Add custom flags to the added messge
client.addMessageFlags(uid, com.aspose.email.ImapMessageFlags.op_BitwiseOr(ImapMessageFlags.keyword("custom1"), ImapMessageFlags.keyword("custom1_0")));

// Retreive the messages for checking the presence of custom flag
client.selectFolder(ImapFolderInfo.IN_BOX);

ImapMessageInfoCollection messageInfos = client.listMessages();
for (ImapMessageInfo inf : messageInfos) {
    ImapMessageFlags[] flags = inf.getFlags().split();

    if (inf.containsKeyword("custom1"))
        System.out.println("Keyword found");
}