首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >追加后看到的MailKit集MessageFlag

追加后看到的MailKit集MessageFlag
EN

Stack Overflow用户
提问于 2018-11-22 08:20:21
回答 2查看 1.4K关注 0票数 2

我用MailKit.Message发送一个MailKit.Net.Smtp.SmtpClient异步。

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

我无法在消息构建中设置消息标签,只能在追加后设置,但我没有办法将MailKit.UniqueId?转换为MailKit.UniqueId.

代码语言:javascript
运行
复制
 var folderSend = IC.GetFolder(MailKit.SpecialFolder.Sent);
 MailKit.UniqueId? te = folderSend.Append(nochmalMessage);
 folderSend.AddFlagsAsync(te, MailKit.MessageFlags.Seen, true);

te必须是MailKit.UniqueId

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-11-22 14:37:19

Append()AppendAsync()方法都有一个重载,该重载接受一个MessageFlags参数。这允许您将逻辑简化为:

代码语言:javascript
运行
复制
folder.Append (message, MessageFlags.Seen);

代码语言:javascript
运行
复制
await folder.AppendAsync (message, MessageFlags.Seen);

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

票数 5
EN

Stack Overflow用户

发布于 2018-11-22 10:14:57

变量teNullable<UniqueId>类型,但方法AddFlagsAsync接受UniqueId类型。您可以使用te.Value或在检查te是否有值之前:

代码语言:javascript
运行
复制
if (te.HasValue)
    folderSend.AddFlagsAsync(te.Value, MailKit.MessageFlags.Seen, true);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53426561

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档