MailKit Set MessageFlag, видимый после добавления
Я отправляю MailKit.Message Async с MailKit.Net.Smtp.SmtpClient.
Затем я помещаю почту в папку отправки, но флаг сообщения не отображается.
Я не могу установить флаг сообщения в Построении сообщения, только после добавления, но я не нашел способа конвертировать MailKit.UniqueId? в MailKit.UniqueId.
var folderSend = IC.GetFolder(MailKit.SpecialFolder.Sent);
MailKit.UniqueId? te = folderSend.Append(nochmalMessage);
folderSend.AddFlagsAsync(te, MailKit.MessageFlags.Seen, true);
должен быть MailKit.UniqueId
2 ответа
Append()
а также AppendAsync()
у каждого метода есть перегрузка, которая принимает MessageFlags
аргумент. Это позволяет упростить вашу логику до:
folder.Append (message, MessageFlags.Seen);
или же
await folder.AppendAsync (message, MessageFlags.Seen);
Это устраняет необходимость даже беспокоиться о вызове AddFlags() или AddFlagsAsync() с флагами, которые вы хотите установить в добавленном сообщении, потому что он будет устанавливать эти флаги при добавлении сообщения.
Ваша переменная te имеет тип Nullable<UniqueId>
но метод AddFlagsAsync принимает тип UniqueId
, Ты можешь использовать te.Value
или перед проверкой, имеет ли te значение:
if (te.HasValue)
folderSend.AddFlagsAsync(te.Value, MailKit.MessageFlags.Seen, true);