java.mail的搜索过滤类
来源:互联网 发布:淘宝网男士双肩包 编辑:程序博客网 时间:2024/06/13 10:27
一、查找邮件
在 JavaMail 中查找邮件,不用调用 Folder.getMessages() 方法把邮件夹中的所有邮件都返回,然后再在Message[]中进行搜索。而是可以根据给定的一些条件过滤搜索出我们想要的邮件,之后再对进行获得的邮件进行操作。
要使用搜索过滤功能,必须用到 java.mail.search 包中的 SearchTerm 抽象类。在这个包中,我们可以使用其他具有不同组合关系的子类和具有不同搜索条件的类来进行操作。
1、逻辑组合关系的子类有:AndTerm 类、OrTerm 类、NotTerm 类、ComparisonTerm 类,它们都是 SearchTerm 抽象类的具体子类;
2、具体搜索条件的类有:DateTerm 类、BodyTerm 类、HeaderTerm 类,这几个都是抽象类,具体应用时应该由其对应的子类来实现。
范例1
一个简单的例子
Message[] msgs = null;
try {
Folder folder = getFolder(user, folderName);
folder.open(Folder.READ_ONLY);
SearchTerm st = new AndTerm(new FromStringTerm("x@x.x"),new SubjectTerm("xx"));
msgs = folder.search(st);
} catch (MessagingException e) {
}
A、SearchTerm基础抽象类
javax.mail.search.SearchTerm
public abstract class SearchTerm implements Serializable
搜索条件表示为树的搜索方面,形成了一个搜索表达式的解析树。
代表这个类搜索条件。这是一个抽象类的子类实现特定的匹配方法。
搜索条件是序列化的,它允许存储在会话之间的搜索词。
AndTerm
This class implements the logical AND operator on individual SearchTerms.
这个类实现了逻辑上AND运算。
NotTerm
This class implements the logical NEGATION operator.
这个类实现了逻辑上NOT运算。
OrTerm
This class implements the logical OR operator on individual SearchTerms.
这个类实现了逻辑上OR运算。
ComparisonTerm
This class models the comparison operator.
这个类实现比较运算。
IntegerComparisonTerm
This class implements comparisons for integers.
这个类实现对整数进行比较。
StringTerm
This class implements the match method for Strings.
这个类实现字符串匹配方法。
AddressTerm
This class implements Message Address comparisons.
这个类实现了邮件地址比较。
BodyTerm
This class implements searches on a message body.
这个类实现了对邮件正文的搜索。
DateTerm
This class implements comparisons for Dates
这个类实现日期的比较
FlagTerm
This class implements comparisons for Message Flags.
这个类实现了邮件标志的比较。
FromStringTerm
This class implements string comparisons for the From Address header.
这个类实现了From地址头的字符串比较。
FromTerm
This class implements comparisons for the From Address header.
这个类实现了From Address的比较。
HeaderTerm
This class implements comparisons for Message headers.
这个类实现了消息头进行比较。
MessageIDTerm
This term models the RFC822 "MessageId" - a message-id for Internet messages that is supposed to be unique per message.
这个类实现了MessageId进行比较。
MessageNumberTerm
This class implements comparisons for Message numbers.
这个类实现了Message numbers进行比较。
ReceivedDateTerm
This class implements comparisons for the Message Received date
这个类实现了接受时间进行比较。
RecipientStringTerm
This class implements string comparisons for the Recipient Address headers.
这个类实现了收件人进行比较。
RecipientTerm
This class implements comparisons for the Recipient Address headers.
这个类实现了收件人Address进行比较。
SentDateTerm
This class implements comparisons for the Message SentDate.
这个类实现了发送时间进行比较。
SizeTerm
This class implements comparisons for Message sizes.
这个类实现了邮件大小进行比较。
SubjectTerm
This class implements comparisons for the message Subject header.
这个类实现消息标题头进行比较。
- java.mail的搜索过滤类
- java mail 搜索、过滤接收邮件,删除邮件
- elasticsearch JAVA客户端操作---搜索的过滤、分组高亮
- Java的Mail功能
- Java Mail的使用方法
- java-mail的错误
- java mail 的一知半解
- Java Mail的使用
- Java Mail 邮件类
- java mail 通用类
- Procmail 过滤mail病毒
- mail.log的一个文档中读取并过滤出mail地址
- 一个简单的java Mail
- java mail 的authentication failed
- Simple Java Mail的使用
- mail搜索测试
- elasticsearch JAVA客户端操作---搜索的过滤、分组高亮,elasticsearchjava
- 8.搜索请求的过滤和解析
- 基于visual Studio2013解决面试题之0603调整数组
- Axis2 WebService(配置、发布、调用)
- Ubuntu13.04下搭建Java环境
- 基于visual Studio2013解决面试题之0604O(1)时间复杂度删除链表节点
- 查找文本文件中的关键字
- java.mail的搜索过滤类
- MFC界面编程技术汇总
- Xcode
- 黑马程序员-system
- 10--java-静态导入、枚举、反射
- jsp的4种会话跟踪技术
- 基于visual Studio2013解决面试题之0608找出两个只出现一次的数
- poj 1797 Heavy Transportation
- android:activity 生存周期