1.首先我想到的是根据mail.jar中已有的工具类进行关键字的处理,详见:http://892848153.iteye.com/blog/1724601,但是,我们的需求是需要添加多个关键字条件(邮件主题,邮件附件,邮件内容),并且所有的关键字条件之间都是或的关系,所以SearchTerm只能忍痛割爱啦;并且SearchTerm 好像无法根据附件的名称搜索
2.选择笨办法,一封一封邮件搜索解析,首先判断邮件是否在选择的日期区间内,然后再根据关键字判断在日期区间内的每一封邮件的详细信息,并下载对应邮件的附件和登记符合条件的邮件信息,但这样又有一个问题,那就是效率,以及所有的邮件都会置为已读状态,
3.能不能选择一个既高效又不改变邮件状态的方式呢,我们首先分析下方案2的缺陷之处,主要在于无论选择什么时间段,都要扫描整个邮箱的每一封邮件,这样就大大降低了效率,此时我联想到了SearchTerm,先用AndTerm来使时间区间一开始发挥效用,这样我们的得到的需要扫描的就是在这个区间的所有邮件,而不需要把邮箱里的全部邮件都扫描一遍啦。