首页 > 解决方案 > 如何使用 Mailkit 搜索比特定时间戳更新的邮件?

问题描述

我正在构建一个 C# 函数来定期从本地电子邮件服务器(hMailServer)获取电子邮件并保存到数据库表中。

var uid_list = await inbox.SearchAsync(SearchQuery.SentAfter(lastDateTime));

问题是它忽略了时间部分,只比较日期部分。问题:如何使用 Mailkit 搜索比时间戳值更新的邮件?

标签: c#imapmailkit

解决方案


如果您的 IMAP 服务器支持WITHIN扩展,您可以使用SearchQuery.YoungerThan (int seconds).

要检查您的 IMAP 服务器是否支持此扩展,您可以执行以下操作:

if (client.Capabilities.HasFlag (ImapCapabilities.Within)) { }

(其中client是一个ImapClient既连接到 IMAP 服务器又处于认证状态的实例)。


推荐阅读