Email:按日期查询不能获取8:00am之前的邮件

aspose.email
我设置条件查询,
Calendar instance = Calendar.getInstance();
builder.getInternalDate().since(instance.getTime());
instance.add(Calendar.DAY_OF_MONTH, 1);
builder.getInternalDate().before(instance.getTime());

MailQuery query = builder.getQuery();

ImapMessageInfoCollection imapMessageInfos = client.listMessages(query);
获取不到当天的8.00am之前的邮件
17.10版本

当我修改成instance.add(Calendar.DAY_OF_MONTH, 2);获取两天的邮件来获取那天缺失的邮件
imapMessageInfo.getDate() Thu Jul 27 23:40:31 CST 2017
imapMessageInfo.getInternalDate() Fri Jul 28 17:15:24 CST 2017
在邮箱里显示的时间是 Jul 29 '17 01:15
但是无论我修改获取27号或者28号那天的邮件 ,也不能拿到这一封丢失的邮件

builder.getSentDate.since() 这个方法也是会丢失一部分邮件。

@Goran_Zhou,

感谢您联系Aspose支持团队。

我试图重现使用下面的示例代码的问题,但不能观察任何问题。请注意在Since和Before中使用“DateComparisonType.ByDateTime”。如果问题没有得到解决,请分享几个电子邮件存在的测试帐户凭据,并发送您希望我们在该测试邮件帐户上测试的确切代码。这将有助于我们观察这个问题并提供相应的帮助

java.util.Calendar cal = java.util.Calendar.getInstance();
cal.set(2017, java.util.Calendar.DECEMBER, 1, 0, 0, 0);

ImapQueryBuilder builder = new ImapQueryBuilder();
builder.getInternalDate().since(cal.getTime(),DateComparisonType.ByDateTime);
cal.add(java.util.Calendar.DAY_OF_MONTH,1);
builder.getInternalDate().before(cal.getTime(),DateComparisonType.ByDateTime);

MailQuery query = builder.getQuery();

ImapClient client = new ImapClient("imap.gmail.com", 993, "username", "password");
client.setSecurityOptions(SecurityOptions.Auto);
client.selectFolder(ImapFolderInfo.IN_BOX);
ImapMessageInfoCollection list = client.listMessages(query);