MailKit 设置附加后看到的 MessageFlag
MailKit Set MessageFlag Seen after Append
我发送 MailKit.Message 与 MailKit.Net.Smtp.SmtpClient 异步。
然后我将邮件放入发送文件夹,但是邮件标志是看不见的。
我无法在 Message build 中设置 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);
te 必须是 MailKit.UniqueId
您的变量 te 具有类型 Nullable<UniqueId>
但方法 AddFlagsAsync 接受类型 UniqueId
。您可以使用 te.Value
或在它之前检查 te 是否具有值:
if (te.HasValue)
folderSend.AddFlagsAsync(te.Value, MailKit.MessageFlags.Seen, true);
每个 Append()
and AppendAsync()
方法都有一个带有 MessageFlags
参数的重载。这使您可以将逻辑简化为:
folder.Append (message, MessageFlags.Seen);
或
await folder.AppendAsync (message, MessageFlags.Seen);
这消除了使用要在附加消息上设置的标志调用 AddFlags() 或 AddFlagsAsync() 的需要,因为它会在附加消息时设置这些标志。
我发送 MailKit.Message 与 MailKit.Net.Smtp.SmtpClient 异步。
然后我将邮件放入发送文件夹,但是邮件标志是看不见的。
我无法在 Message build 中设置 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);
te 必须是 MailKit.UniqueId
您的变量 te 具有类型 Nullable<UniqueId>
但方法 AddFlagsAsync 接受类型 UniqueId
。您可以使用 te.Value
或在它之前检查 te 是否具有值:
if (te.HasValue)
folderSend.AddFlagsAsync(te.Value, MailKit.MessageFlags.Seen, true);
每个 Append()
and AppendAsync()
方法都有一个带有 MessageFlags
参数的重载。这使您可以将逻辑简化为:
folder.Append (message, MessageFlags.Seen);
或
await folder.AppendAsync (message, MessageFlags.Seen);
这消除了使用要在附加消息上设置的标志调用 AddFlags() 或 AddFlagsAsync() 的需要,因为它会在附加消息时设置这些标志。