java.mail的搜索过滤类

一、查找邮件

在 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) {

}

 

ASearchTerm基础抽象类

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.

这个类实现消息标题头进行比较。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
javaMail的详细文档,都有以下多有的详细信息: ACL Address AddressException AddressStringTerm AddressTerm AndTerm AuthenticationFailedException Authenticator BodyPart BodyTerm ByteArrayDataSource ComparisonTerm ConnectionAdapter ConnectionEvent ConnectionListener ContentDisposition ContentType DateTerm DeliveryStatus DispositionNotification FetchProfile FetchProfile.Item Flags Flags.Flag FlagTerm Folder FolderAdapter FolderClosedException FolderEvent FolderListener FolderNotFoundException FromStringTerm FromTerm Header HeaderTerm HeaderTokenizer HeaderTokenizer.Token IllegalWriteException IMAPFolder IMAPFolder.FetchProfileItem IMAPFolder.ProtocolCommand IMAPMessage IMAPSSLStore IMAPStore IntegerComparisonTerm InternetAddress InternetHeaders InternetHeaders.InternetHeader MailDateFormat MailEvent MailHandler MailSSLSocketFactory Message Message.RecipientType MessageAware MessageChangedEvent MessageChangedListener MessageContext MessageCountAdapter MessageCountEvent MessageCountListener MessageHeaders MessageIDTerm MessageNumberTerm MessageRemovedException MessagingException MethodNotSupportedException MimeBodyPart MimeMessage MimeMessage.RecipientType MimeMultipart MimePart MimePartDataSource MimeUtility Multipart MultipartDataSource MultipartReport NewsAddress NoSuchProviderException NotTerm OrTerm ParameterList ParseException Part PasswordAuthentication POP3Folder POP3Message POP3SSLStore POP3Store PreencodedMimeBodyPart Provider Provider.Type Quota Quota.Resource QuotaAwareStore ReadOnlyFolderException ReceivedDateTerm RecipientStringTerm RecipientTerm Report Rights Rights.Right SearchException SearchTerm SendFailedException SentDateTerm Service Session SharedByteArrayInputStream SharedFileInputStream SharedInputStream SizeTerm SMTPAddressFailedException SMTPAddressSucceededException SMTPMessage SMTPSendFailedException SMTPSSLTransport SMTPTransport Store StoreClosedException StoreEvent StoreListener StringTerm SubjectTerm Transport TransportAdapter TransportEvent TransportListener UIDFolder UIDFolder.FetchProfileItem URLName

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值