Trabalhando com Sinais de Mensagem no Servidor

Mudando os Sinais da Mensagem

Você pode mudar os sinais da mensagem usando o método changeMessageFlags(). Este método leva dois parâmetros.

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

Os seguintes sinais podem ser configurados:

Configurando Sinais da Mensagem

O seguinte trecho de código mostra como mudar os sinais da mensagem em um servidor IMAP com Aspose.Email.

// Para exemplos completos e arquivos de dados, por favor vá para https://github.com/aspose-email/Aspose.Email-for-Java
// Marcar a mensagem como lida
client.changeMessageFlags(1, ImapMessageFlags.isRead());

Removendo Sinais da Mensagem

Os sinais da mensagem também podem ser removidos com o método removeMessageFlags(). O uso é similar ao do método changeMessageFlags(). Ele leva um número de sequência ou ID único da mensagem e MessageFlag. O seguinte trecho de código mostra como remover os sinais da mensagem.

// Para exemplos completos e arquivos de dados, por favor vá para https://github.com/aspose-email/Aspose.Email-for-Java
// Remover o sinal da mensagem
client.removeMessageFlags(1, ImapMessageFlags.isRead());

Configurando Sinais Personalizados

Você também pode definir sinais personalizados para uma mensagem usando o ImapClient da API. O ImapClient AddMessageFlags fornece a capacidade de definir sinais personalizados nas mensagens.

// Para exemplos completos e arquivos de dados, por favor vá para https://github.com/aspose-email/Aspose.Email-for-Java
// Criar uma mensagem
MailMessage message = new MailMessage("user@domain1.com", "user@domain2.com", "assunto", "mensagem");

// Adicionar a mensagem à caixa de entrada
String uid = client.appendMessage(ImapFolderInfo.IN_BOX, message);

// Adicionar sinais personalizados à mensagem adicionada
client.addMessageFlags(uid, com.aspose.email.ImapMessageFlags.op_BitwiseOr(ImapMessageFlags.keyword("custom1"), ImapMessageFlags.keyword("custom1_0")));

// Recuperar as mensagens para verificar a presença do sinal personalizado
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("Palavra-chave encontrada");
}