c# - 如何使用 Mailkit 搜索比特定时间戳更新的邮件?
问题描述
我正在构建一个 C# 函数来定期从本地电子邮件服务器(hMailServer)获取电子邮件并保存到数据库表中。
var uid_list = await inbox.SearchAsync(SearchQuery.SentAfter(lastDateTime));
问题是它忽略了时间部分,只比较日期部分。问题:如何使用 Mailkit 搜索比时间戳值更新的邮件?
解决方案
如果您的 IMAP 服务器支持WITHIN
扩展,您可以使用SearchQuery.YoungerThan (int seconds)
.
要检查您的 IMAP 服务器是否支持此扩展,您可以执行以下操作:
if (client.Capabilities.HasFlag (ImapCapabilities.Within)) { }
(其中client
是一个ImapClient
既连接到 IMAP 服务器又处于认证状态的实例)。
推荐阅读
- angular - 等待 2 种方法完成 Angular 6
- ms-access - 从差异表单加载事件代码访问复选框值(真/假)
- java - 这是在 pom.xml 中定义 Junit 版本的正确方法吗?
- c# - 使用属性抑制 Coverity 中的消息?
- .net - Apache Ignite .Net 在会话中存储 ComplexType
- javascript - () 符号在这个嵌套的 Record 中是什么意思?反应
- javascript - 使用javascript模糊画布?
- c# - 没有“父”数组标识符的不同类型的 XML 数组序列化
- angular - 在 Angular flex 布局中完成 100 个单元后,我还没有找到换行的方法
- erlang - 如何在erlang案例中的不同案例情况之间进行通信