MailKit 设置 MessageFlag 在 Append 后看到

Wol*_*rge 2 c# imap unique-id mime-message mailkit

我使用 MailKit.Net.Smtp.SmtpClient 发送 MailKit.Message Async。

然后我把邮件放在发送文件夹中,但邮件标志是看不见的。

我无法在 Message 构建中设置 messageflag,只能在 Append 之后,但我发现无法转换MailKit.UniqueId?MailKit.UniqueId

 var folderSend = IC.GetFolder(MailKit.SpecialFolder.Sent);
 MailKit.UniqueId? te = folderSend.Append(nochmalMessage);
 folderSend.AddFlagsAsync(te, MailKit.MessageFlags.Seen, true);
Run Code Online (Sandbox Code Playgroud)

te必须是 MailKit.UniqueId

jst*_*ast 5

Append()AppendAsync()方法各自具有过载,需要一个MessageFlags参数。这使您可以将逻辑简化为:

folder.Append (message, MessageFlags.Seen);
Run Code Online (Sandbox Code Playgroud)

或者

await folder.AppendAsync (message, MessageFlags.Seen);
Run Code Online (Sandbox Code Playgroud)

这消除了使用您想要在附加消息上设置的标志来调用 AddFlags() 或 AddFlagsAsync() 的需要,因为它会在附加消息时设置这些标志。