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

时间:2016-02-15 05:28:52

标签: c# .net winforms imap 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地址条件匹配。如果不存在则返回null

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

我在互联网上搜索了iMapX文档,但没有运气。

1 个答案:

答案 0 :(得分: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                      
);

希望有所帮助。

相关问题