есть ли способ фильтровать электронные письма только с вложениями? Я использую этот код
using (var client = new ImapClient())
{
client.Connect(IMAPServer, IMAPport, IMAPSSL);
client.AuthenticationMechanisms.Remove("XOAUTH2");
client.Authenticate(User, Password);
var inbox = client.Inbox;
inbox.Open(FolderAccess.ReadOnly);
//filter email with attachments only
var results = inbox.Search(SearchQuery.NotSeen.And(SearchQuery.NotDeleted));
}
я попробую это спасибо
К сожалению, IMAP не предоставляет термин поискового запроса для проверки наличия вложения в сообщении, но то, что вы делаете может, - это создаете поисковый запрос с другими критериями, которые вы хотите (во многом как вы уже сделали), а затем выполните:
var results = inbox.Search(SearchQuery.NotSeen.And(SearchQuery.NotDeleted));
var items = MessageSummaryItems.BodyStructure | MessageSummaryItems.UniqueId;
var matched = new UniqueIdSet ();
foreach (var message in inbox.Fetch (results, items)) {
if (message.BodyParts.Any (x => x.IsAttachment))
matched.Add (message.UniqueId);
}
// `matched` now contains a list of UIDs of the messages that have attachments
// and also fit your other search criteria
Возможный дубликат Mimekit, IMapClient получают информацию о вложениях, не загружая все сообщение