📄 receive.java
字号:
package receivemail;import javax.mail.*;import javax.mail.internet.*;import java.util.*;import java.io.*;/*** 一个邮件接收类.*/public class Receive{ public static void main(String args[]){ try{ String popServer="202.205.84.216"; String popUser="to@wangqian.com"; String popPassword="123"; receive(popServer, popUser, popPassword); } catch (Exception ex){ System.out.println("Usage: java com.receivemail.Receive" +" popServer popUser popPassword"); } System.exit(0); } public static void receive(String popServer, String popUser , String popPassword){ Store store=null; Folder folder=null; try{ //创建缺省会话 Properties props = System.getProperties(); Session session = Session.getDefaultInstance(props, null); //得到一个POP3信息存储设备并与它连接 store = session.getStore("pop3"); store.connect(popServer, popUser, popPassword); //得到缺省文件夹 folder = store.getDefaultFolder(); if (folder == null) throw new Exception("No default folder"); folder = folder.getFolder("INBOX"); if (folder == null) throw new Exception("No POP3 INBOX"); //以只读方式打开文件夹 folder.open(Folder.READ_ONLY); //获取信息包并进行处理 Message[] msgs = folder.getMessages(); for (int msgNum = 0; msgNum < msgs.length; msgNum++) { printMessage(msgs[msgNum]); } } catch (Exception ex){ ex.printStackTrace(); } finally{ //注意关闭 try{ if (folder!=null) folder.close(false); if (store!=null) store.close(); } catch (Exception ex2) {ex2.printStackTrace();} } }/*** "printMessage()" 方法打印一条信息.*/ public static void printMessage(Message message){ try{ // 获取标头信息 String from=((InternetAddress)message.getFrom()[0]).getPersonal(); if (from==null) from=((InternetAddress)message.getFrom()[0]).getAddress(); System.out.println("FROM: "+from); String subject=message.getSubject(); System.out.println("SUBJECT: "+subject); //获取信息部分 Part messagePart=message; Object content=messagePart.getContent(); if (content instanceof Multipart) { messagePart=((Multipart)content).getBodyPart(0); System.out.println("[ Multipart Message ]"); } //获取邮件类型 String contentType=messagePart.getContentType(); //如果内容是plain文本,打印它 System.out.println("CONTENT:"+contentType); if (contentType.startsWith("text/plain") || contentType.startsWith("text/html")) { InputStream is = messagePart.getInputStream(); BufferedReader reader=new BufferedReader(new InputStreamReader(is)); String thisLine=reader.readLine(); while (thisLine!=null) { System.out.println(thisLine); thisLine=reader.readLine(); } } System.out.println("-----------------------------"); } catch (Exception ex) { ex.printStackTrace(); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -