我如何配置 EAGetMail DLL 选项来进行日期搜索?

How can I configure EAGetMail DLL options to make date search work?

大家好,在此先感谢您花时间阅读我的问题。

我有这种情况:我正在使用 EAGetMail DLL 从 POP3 电子邮件服务器检索电子邮件。我已经使用了网站上给出的示例,到目前为止还不错;我可以从收件箱中获取所有电子邮件。

当我尝试使用 DLL 提供的数据过滤器时,我的问题出现了,为了不获取收件箱中的所有电子邮件,只是一些,使用特定的数据范围。

我为此目的使用的代码如下:

Dim oClient As New MailClient("TryIt")
    
oClient.Connect(oServer)
    
Dim options As GetMailInfosOptionType
options = options Or GetMailInfosOptionType.DateRange
options = options Or GetMailInfosOptionType.OrderByDateTime
        
oClient.GetMailInfosParam.Reset()
oClient.GetMailInfosParam.GetMailInfosOptions = options
        
oClient.GetMailInfosParam.DateRange.SINCE = System.DateTime.Now.AddDays(-4)
oClient.GetMailInfosParam.DateRange.BEFORE = System.DateTime.Now.AddDays(1)

理论上这应该只检索从今天开始的最后四天内的电子邮件,但它不起作用。每次执行代码时,我都会从收件箱中收到每封电子邮件。

有人遇到过类似的情况吗?

关于 this page 的第一句话,关于 MailClient.GetMailInfosParam 属性,说不支持 POP3:

Search email on IMAP4 Server and MS Exchange Server. It doesn't support POP3 protocol.