- /**
- * CrazyItTest
- * 使用JavaMail 搜索并删除指定邮件示例
- */
- package com.labci.javamail.test;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.util.Properties;
- import javax.mail.Flags;
- import javax.mail.Folder;
- import javax.mail.Message;
- import javax.mail.MessagingException;
- import javax.mail.Session;
- import javax.mail.Store;
- import javax.mail.search.AndTerm;
- import javax.mail.search.FromStringTerm;
- import javax.mail.search.SearchTerm;
- import javax.mail.search.SubjectTerm;
- /**
- * @author Bill Tu(tujiyue/iwtxokhtd)
- * May 27, 2011[10:04:20 PM]
- *
- */
- public class SearchEmailTest {
- private static final String PROTOCOL = "pop3";
- private static final String HOST = "pop3.163.com";
- private static final String USER = "iwtxokhtd";
- private static final String PASS="123456";
- private static Session getMailSession(){
- Properties props=new Properties();
- props.put("mail.store.protocol", PROTOCOL);
- props.put("mail.pop3.host", HOST);
- Session session=Session.getDefaultInstance(props);
- return session;
- }
- private static void searchEmail() throws MessagingException, IOException{
- Store store=getMailSession().getStore();
- store.connect(HOST,USER,PASS);
- Folder receiveFolder=store.getFolder("inbox");//对于POP3协议此参数值只能是inbox
- receiveFolder.open(Folder.READ_WRITE);//设置收件夹打开后的读写权限
- int messageCount=receiveFolder.getMessageCount();
- System.out.println("总共拥有邮件数:"+messageCount);
- if(messageCount>0){
- //搜索指定条件的邮件,还有许多其它的搜索条件,请查阅相关的API
- SearchTerm search=new AndTerm(new FromStringTerm("[email protected]"),
- new SubjectTerm("订单8480917155已收到,正在处理中"));
- Message []messages=receiveFolder.search(search);
- int count=messages.length;
- if(count<=0){
- System.out.println("对不起,没搜到你要的邮件");
- }else{
- System.out.println("共搜索到"+count+"封符合条件的邮件!");
- for(Message msg:messages){
- System.out.println("发件人:"+msg.getFrom()[0]+",主题为:"+msg.getSubject());
- System.out.println("您是否要删除此邮件?若要请输入yes:");
- BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
- String input=br.readLine();
- if(input!=null && !"".equals(input)
- &&"yes".equals(input.trim())){
- //执行后面的关闭才会真正删除掉此邮件
- msg.setFlag(Flags.Flag.DELETED, true);
- }
- }
- }
- }
- receiveFolder.close(true);//关闭邮件夹对象
- store.close();//断开连接
- }
- /**
- * @param args
- * @throws IOException
- * @throws MessagingException
- */
- public static void main(String[] args) throws MessagingException, IOException {
- searchEmail();
- }
- }
电子邮件系统 2----JavaMail 搜索指定邮件示例
猜你喜欢
转载自2277259257.iteye.com/blog/2159469
今日推荐
周排行