JavaMail基础知识3-JavaMail API使用之消息提取
2009-11-08 10:59
531 查看
为读邮件,您获取一个会话,获取并连接一个用于邮箱的适宜的存储(store),打开适宜的文件夹,然后获取您的消息。同样,切记完成后关闭连接。
String host = ...;
String username = ...;
String password = ...;
// Create empty properties
Properties props = new Properties();
// Get session
Session session = Session.getDefaultInstance(props, null);
// Get the store
Store store = session.getStore("pop3");
store.connect(host, username, password);
// Get folder
Folder folder = store.getFolder("INBOX");
folder.open(Folder.READ_ONLY);
// Get directory
Message message[] = folder.getMessages();
for (int i=0, n=message.length; i<n; i++) {
System.out.println(i + ": " + message[i].getFrom()[0] + "/t" + message[i].getSubject());
}
// Close connection
folder.close(false);
store.close();
对每条消息做些什么由您决定。上面的代码块只是显示这些消息的发件人和主题。技术上讲,from 地址列表可能为空,而 getFrom()[0] 调用会抛出一个异常。
要显示全部信息,您可以在用户看完 from 和 subject 域之后给出提示,如用户有需要,就调用消息的 writeTo() 方法来实现。
BufferedReader reader = new BufferedReader (new InputStreamReader(System.in));
// Get directory
Message message[] = folder.getMessages();
for (int i=0, n=message.length; i<n; i++) {
System.out.println(i + ": " + message[i].getFrom()[0] + "/t" + message[i].getSubject());
System.out.println("Do you want to read message? [YES to read/QUIT to end]");
String line = reader.readLine();
if ("YES".equals(line)) {
message[i].writeTo(System.out);
} else if ("QUIT".equals(line)) {
break;
}
}
String host = ...;
String username = ...;
String password = ...;
// Create empty properties
Properties props = new Properties();
// Get session
Session session = Session.getDefaultInstance(props, null);
// Get the store
Store store = session.getStore("pop3");
store.connect(host, username, password);
// Get folder
Folder folder = store.getFolder("INBOX");
folder.open(Folder.READ_ONLY);
// Get directory
Message message[] = folder.getMessages();
for (int i=0, n=message.length; i<n; i++) {
System.out.println(i + ": " + message[i].getFrom()[0] + "/t" + message[i].getSubject());
}
// Close connection
folder.close(false);
store.close();
对每条消息做些什么由您决定。上面的代码块只是显示这些消息的发件人和主题。技术上讲,from 地址列表可能为空,而 getFrom()[0] 调用会抛出一个异常。
要显示全部信息,您可以在用户看完 from 和 subject 域之后给出提示,如用户有需要,就调用消息的 writeTo() 方法来实现。
BufferedReader reader = new BufferedReader (new InputStreamReader(System.in));
// Get directory
Message message[] = folder.getMessages();
for (int i=0, n=message.length; i<n; i++) {
System.out.println(i + ": " + message[i].getFrom()[0] + "/t" + message[i].getSubject());
System.out.println("Do you want to read message? [YES to read/QUIT to end]");
String line = reader.readLine();
if ("YES".equals(line)) {
message[i].writeTo(System.out);
} else if ("QUIT".equals(line)) {
break;
}
}
相关文章推荐
- JavaMail基础知识6-JavaMail API使用之消息的回复及转发
- JavaMail基础知识8-JavaMail API使用之对 HTML 消息的处理
- JavaMail基础知识2-JavaMail API使用之发送消息
- JavaMail基础知识4-JavaMail API使用之消息和标志的删除
- JavaMail基础知识5-JavaMail API使用之认证
- JavaMail基础知识7-JavaMail API使用之附件的处理
- JavaMail基础知识1-JavaMail API 的七个核心类
- java-day05-Thread-基础知识以及运用API第一种方法使用Thread类
- Java基础知识:常用API
- Java基础知识强化之IO流笔记72:NIO之 NIO核心组件(NIO使用代码示例)
- Java基础-11总结Eclipse使用,API,Object类
- 字符串处理是许多程序中非常重要的一部分,它们可以用于文本显示,数据表示,查找键和很多目的.在Unix下,用户可以使用正则表达式的强健功能实现这些 目的,从Java1.4起,Java核心API就引入了java.util.regex程序包,它是一种有价值的基础
- Java基础知识强化之网络编程笔记15:Android网络通信之 Android异步任务处理(AsyncTask使用)
- java基础学习面向对象API中Math类random方法使用 五-5
- Java基础知识强化06:使用BigDecimal计算阶乘1+1/2!+1/3!+……
- JAVA使用、配置相关基础知识
- Java基础知识强化09:String、StringBuffer和StringBuilder使用
- 【JAVA基础知识总结】Java I/0流概述以及使用方法
- JAVA基础知识之JDBC——使用ResultSetMetaData分析结果集
- Java基础知识强化之IO流笔记67:Properties的特殊功能使用