Работа с флагами сообщений на сервере
Изменение флагов сообщения
Вы можете изменить флаги сообщения, используя метод ChangeMessageFlags(). Этот метод принимает два параметра.
- Порядковый номер сообщения или его уникальный идентификатор.
- MessageFlag.
Следующие флаги могут быть установлены:
Установка флагов сообщения
Следующий фрагмент кода показывает, как изменить флаги сообщения на IMAP-сервере с помощью 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); |
Удаление флагов сообщения
Флаги сообщения также могут быть удалены с помощью метода RemoveMessageFlags(). Использование этого метода аналогично методу ChangeMessageFlags(). Он принимает порядковый номер или уникальный идентификатор сообщения и MessageFlag. Следующий фрагмент кода показывает, как удалить флаги сообщения.
// 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); |
Установка пользовательских флагов
Вы также можете установить пользовательские флаги для сообщения, используя ImapClient API. Метод ImapClient AddMessageFlags предоставляет возможность устанавливать пользовательские флаги на сообщения.
// 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"); | |
} | |