JavaMail学习笔记(六)、搜索邮件(三)

2014-11-24 08:20:18 · 作者: · 浏览: 5
k;
}
}
}
System.out.print("请选择操作:");
oper = reader.readLine().trim();
}

System.out.println("\n系统正在根据搜索条件查询所有邮件,请稍候......\n");

// 根据输入的条件,创建SearchTerm实例对象
SearchTerm orTerm = new OrTerm(
new FromStringTerm(from),
new SubjectTerm(subject)
);

// 根据搜索条件得到搜索到的邮件列表
Message[] messages = folder.search(orTerm);

System.out.println("共搜索到" + messages.length + "封满足搜索条件的邮件!\n\n请选择操作:1、查看邮件\t 2、删除所有邮件");

String deleteQuestion = "是否要删除搜索到的邮件 (yes/no)";

String searchResultOper = reader.readLine();

if ("1".equals(searchResultOper)) {
for (Message message : messages) {
MimeMessage msg = (MimeMessage) message;
String sub = POP3ReceiveMailTest.getSubject(msg);
System.out.println("开始查看第" + msg.getMessageNumber() + "封邮件...");
System.out.println("主题: " + sub);
System.out.println("发件人: " + POP3ReceiveMailTest.getFrom(msg));
System.out.println("收件人:" + POP3ReceiveMailTest.getReceiveAddress(msg, null));
System.out.println("发送时间:" + POP3ReceiveMailTest.getSentDate(msg, null));
System.out.println(deleteQuestion);
String answer = reader.readLine();
if ("yes".equals(answer)) {
msg.setFlag(Flag.DELETED, true);
System.out.println("邮件[" + sub + "]删除成功!");
} else if ("no".equals(answer)) {
System.out.println("第" + msg.getMessageNumber() + "封邮件查看完成!");
} else if ("stop".equals(answer)) {
System.exit(0);
}
System.out.println();
}
} else {
System.out.println(deleteQuestion);
String answer = reader.readLine();
if ("yes".equals(answer)) {
for (Message message : messages) {
String sub = MimeUtility.decodeText(message.getSubject());
message.setFlag(Flag.DELETED, true);
System.out.println("邮件[" + sub + "]删除成功!");
}
}
}
}
搜索结果:
1、搜索条件,收件人:智联招聘 主题:最新招聘信息


2、搜索条件,收件人:支付宝 主题:信用卡

作者:xyang81