栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java mail实现设置过滤条件读取邮箱邮件内容

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java mail实现设置过滤条件读取邮箱邮件内容

java mail实现设置过滤条件读取邮箱邮件内容,在java实现读取163邮箱,qq邮箱的邮件内容基础代码上进行修改。

1.主要类说明:

java mail使用搜索过滤功能,必须用到 java.mail.search 包中的 SearchTerm 抽象类。


JavaMail在javax.mail.search包中定义了一个用于创建搜索条件的SearchTerm类,应用程序创建SearchTerm类的实例对象后,就可以调用Folder.Search(SearchTerm st)方法搜索邮件夹中符合搜索条件的所有邮件。


SearchTerm是一个抽象类,主要常用的具体子类有:

1.用于创建逻辑组合关系的类
OR条件(OrTerm类)
NOT条件(NotTerm类)
Comparison条件(ComparisonTerm类)


2.用于创建具体搜索条件的类
DATE条件(SentDateTerm、ReceivedDateTerm类)

CONTENT条件(BodyTerm类)

HEADER条件(FromStringTerm、RecipientStringTerm、SubjectTerm类等)

DateTerm 类、BodyTerm 类、HeaderTerm 类,

2.具体使用方式:

1、搜索发件人为"xx",而且邮件正文包含“yy“的所有邮件

SearchTerm andTerm = new AndTerm( new FromStringTerm("xx"), new BodyTerm("yy"));
Message[] messages = folder.search(andTerm);

2、搜索发件人为“xx“或主题包含“yy“的所有邮件

SearchTerm orTerm = new OrTerm( new FromStringTerm("xx"), new SubjectTerm("yy"));
Message[] messages = folder.search(orTerm);

注,有些邮箱使用imaps协议是查询不了主题邮件的,可以改为使用pop3s协议。但发现pop3s协议返回邮件时间比较久,在邮件数量不多情况下可以考虑获取所有邮件后,再进行代码逻辑过滤。

3.搜索大于等于这时间的邮件

SearchTerm  sentDateTerm = new SentDateTerm(6,new Date()); //6 代表大于等于这时间之后
Message[] messages = folder.search(sentDateTerm);
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/720464.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号