Как фильтровать с помощью UID в IMapX
Я могу успешно фильтровать почту, используя эти фильтры
imapXInboxFolder.Messages.Download(
"SENTBEFORE 02-Feb-2016",
ImapX.Enums.MessageFetchMode.Tiny, 1
);
// To get 1 mail sent before the date
,
imapXInboxFolder.Messages.Download(
"FROM 'atlantatechvillage'",
ImapX.Enums.MessageFetchMode.Tiny, 1
);
// To get 1 latest mail from a specific sender
,
imapXInboxFolder.Messages.Download(
"UID 2345 FROM 'atlantatechvillage'",
ImapX.Enums.MessageFetchMode.Tiny, 1
);
// Having UID 2345 and From the specific sender
Поэтому, если я использую только UID 2345, я могу без проблем получать почту с UID 2345.
С помощью вышеупомянутого фильтра запроса код проверяет почту с UID 2345 и соответствует ли она условию адреса FROM. Если не существует, возвращает ноль
Что мне действительно нужно, так это запрос, который может искать UID больше или меньше определенного, который соответствует конкретному запросу с адреса.
Я искал по всему интернету документацию iMapX и все, но не повезло.
1 ответ
Решение
Вот как вы можете изменить свою последнюю версию, чтобы сделать то, что вы хотите сделать:
// search for messages with a UID <= 2345:
imapXInboxFolder.Messages.Download(
"UID 1:2345 FROM 'atlantatechvillage'",
ImapX.Enums.MessageFetchMode.Tiny, -1
);
// search for messages with a UID >= 2345:
imapXInboxFolder.Messages.Download(
"UID 2345:* FROM 'atlantatechvillage'",
ImapX.Enums.MessageFetchMode.Tiny, -1
);
Надеюсь, это поможет.