参考书籍《张孝详java邮件开发详解》
import java.io.BufferedReader;
import java.util.Properties;
import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Store;
import java.io.InputStreamReader;
public class MailReceive {
public static void main(String[] args) throws Exception {
//定义连接POP3服务器端属性信息
String pop3Server = "pop3.sina.com";
String protocol = "pop3";
String username = "xxxxxxxxxxx";
String password = "授权码替代密码";
Properties prop = new Properties();
prop.setProperty("mail.store.protocol", protocol);
prop.setProperty("mail.store.host", pop3Server);
Session mailSession = Session.getDefaultInstance(prop,null);
mailSession.setDebug(true);
Store store = mailSession.getStore(protocol);
store.connect(pop3Server,username,password); //pop3登录服务器验证
Folder folder = store.getFolder("inbox"); //获得用户的邮件账号
folder.open(Folder.READ_WRITE); //设置对邮件账户的访问权限
Message[] messages = folder.getMessages(); //得到邮箱账户中的所有邮件
for(int i= 0;i<messages.length;i++)
{
String subject = messages[i].getSubject(); //获得邮件主题
String from = messages[i].getFrom()[0].toString(); //获得发送者地址
System.out.println("第" + (i+1) + "封邮件的主题为:" + subject + "\t发件人地址为:" + from);
System.out.println("你想阅读此邮件吗(YES/NO)?");
BufferedReader bsr = new BufferedReader(new InputStreamReader(System.in));
String input = bsr.readLine();
if("YES".equalsIgnoreCase(input))
messages[i].writeTo(System.out); //输出邮件内容
}
folder.close(false); //关闭邮件夹对象
store.close(); //关闭连接对象
}
}