如何使用Mailkit搜索比特定时间戳更新的邮件?

Jip*_*ing 3 c# imap mailkit

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

var uid_list = await inbox.SearchAsync(SearchQuery.SentAfter(lastDateTime));
Run Code Online (Sandbox Code Playgroud)

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

jst*_*ast 6

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

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

if (client.Capabilities.HasFlag (ImapCapabilities.Within)) { }
Run Code Online (Sandbox Code Playgroud)

(其中clientImapClient连接到 IMAP 服务器并处于已验证状态的实例)。