刚写了个发送邮件的,现在写个收取邮件的
处理都是差不多的,就收取收件箱里的邮件
也是比较简单的例子
package com.liu.test.jmail;
import java.util.Properties;
import java.util.Scanner;
import javax.mail.FetchProfile;
import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Store;
import javax.mail.internet.InternetAddress;
/**
*
* @author liu
*
* 获取邮件的简单例子
*/
public class GetMail
{
public static void main(String[] args)
{
//输入密码
Scanner sc = new Scanner(System.in);
System.out.println("please input your password :");
final String password = sc.next();
Properties p = new Properties();
//建立邮件会话
Session session = Session.getInstance(p);
try {
//根据session设置协议
Store store = session.getStore("pop3");
//连接pop3服务器
store.connect("pop.qq.com", "liuchuan12@foxmail.com", password);
Folder f = store.getFolder("Inbox");
f.open(Folder.READ_WRITE);
//获取邮件信息
FetchProfile fp = new FetchProfile();
fp.add(FetchProfile.Item.ENVELOPE);
Message arr[] = f.getMessages();
f.fetch(arr, fp);
System.out.println("收件箱邮件的数量 :"+arr.length);
for(int i =0 ;i<arr.length;i++)
{
InternetAddress interAddress = new InternetAddress(arr[i].getFrom()[0].toString());
System.out.println("~**************"+i+"**************~");
System.out.println("发件人 :"+interAddress.getAddress());
System.out.println("主题 :"+arr[i].getSubject());
System.out.println("内容:"+arr[i].getContent());
System.out.println("发送时间:"+arr[i].getSentDate());
System.out.println("大小:"+arr[i].getSize());
System.out.println("~**************"+i+"**************~");
}
f.close(false);
store.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}