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.
- O número de sequência de uma mensagem ou seu ID único.
- 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"); | |
} | |