如何获取邮件在日期范围内?

时间:2011-11-30 01:20:37

标签: c# asp.net imap

使用C#。在我的桌面应用程序中,我可以成功使用 IMAP4从收件箱中获取邮件。但未能收到日期范围内的邮件。假设希望在2011年11月27日至2011年11月28日期间收到邮件。我写了下面的语法,但不起作用。

Imap4Client imap = new Imap4Client();
imap.ConnectSsl(sImapHost, nImapPort);
imap.Login(sImapUser, sImapPassword);

inbox = imap.SelectMailbox(@"[Gmail]/Sent Mail");


MessageCollection messages = inbox.SearchParse("SINCE " + DateTime.Now.ToString("dd-MMM-yyyy"));

需要帮助才能获得日期范围内的邮件。

如果有任何查询,请询问。谢谢。

1 个答案:

答案 0 :(得分:3)

MessageCollection messages = inbox.SearchParse("SINCE " + DateTime.Now.ToString("dd-MMM-yyyy")); 

指今天以来的邮件。 但是从另一次开始你想要它们

var since = new DateTime(2011,11,27); var messages = inbox.SearchParse(“SINCE”+ since.ToString(“dd-MMM-yyyy”));

修改

查看Mailbox.cs,语法不同

var messages = inbox.SearchParse("SEARCH SINCE 27-Nov-2011 NOT BEFORE 28-NOV-2011");