如何在 IMapX 中使用 UID 进行过滤

How to Filter with UID in 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 地址条件匹配。如果不存在 returns null

我真正想要的是一个可以搜索 UID 大于或小于与特定发件人地址查询匹配的特定 UID 的查询。

我搜索了整个 Internet、iMapX 文档,但一无所获。

您可以按照以下方式修改上一个版本以执行您想要执行的操作:

// 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                      
);

希望对您有所帮助。