通过 MimeKit 搜索本地 EML 文件
Searching Local Eml Files via MimeKit
我正在尝试阅读、显示和搜索下载到我计算机上的带附件的 EML 文件。要做到这一点;我正在使用 MimeKit v2.1.0。当我使用 MimeMessage 阅读和显示文件时没问题。但是,我有很多消息,需要能够用几个词进行搜索。据我了解,MimeKit 没有搜索选项。 MailKit 可以做到这一点,但这次我无法读取本地 EML 文件。我已经搜索了几天以找到解决方案,但空手而归。
因此,总而言之,我正在寻找一种使用 MimeKit 进行搜索或使用 MailKit 读取本地 EML 文件的方法。任何帮助表示赞赏。
MailKit 的搜索 API 用于 IMAP。当然,有人可以为本地消息(以 mbox 或 Maildir 格式?)实现 IMailFolder 接口,但 afaik 还没有人这样做过。
也就是说,你可以这样做:
static bool Search (string fileName, string text)
{
var message = MimeMessage.Load (fileName);
var body = message.TextBody;
return body != null && body.Contains (text);
}
我正在尝试阅读、显示和搜索下载到我计算机上的带附件的 EML 文件。要做到这一点;我正在使用 MimeKit v2.1.0。当我使用 MimeMessage 阅读和显示文件时没问题。但是,我有很多消息,需要能够用几个词进行搜索。据我了解,MimeKit 没有搜索选项。 MailKit 可以做到这一点,但这次我无法读取本地 EML 文件。我已经搜索了几天以找到解决方案,但空手而归。
因此,总而言之,我正在寻找一种使用 MimeKit 进行搜索或使用 MailKit 读取本地 EML 文件的方法。任何帮助表示赞赏。
MailKit 的搜索 API 用于 IMAP。当然,有人可以为本地消息(以 mbox 或 Maildir 格式?)实现 IMailFolder 接口,但 afaik 还没有人这样做过。
也就是说,你可以这样做:
static bool Search (string fileName, string text)
{
var message = MimeMessage.Load (fileName);
var body = message.TextBody;
return body != null && body.Contains (text);
}