电子邮件工作原理:
发件人--》发件服务器(SMTP)--》收件服务器(POP3)--》收件人
JavaMail简介:
javaMail是sun发布用于处理E-mail的API,它支持,SMTP、POP3、IMAP等。程序镇中要用Mail.jar activation.jar(javaee.jar中已经包含这2个包)
JavaMail API 核心类包括:Session Message Address Authenticator Tansport Store Folder
(1)Session定义了邮件的基本会话,Sesion 对象利用java.util.properties获取邮件服务器,用户名密码
(2)Message存储电子邮件信息,发件收件人、邮件内容等
(3)Transport传输类
JavaMail牛刀小试:
public static void main(String[] args) {
//创建一个属性对象
Properties props=new Properties();
//指定SMTP服务器
props.put("mail.smtp.host","smtp.qq.com");
//指定是否需要SMTP验证
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.port","25");
props.put("mail.transport.protocol","smtp");
//创建会话
Session session=Session.getInstance(props);
session.setDebug(true);
//创建一个Message对象
Message mess=new MimeMessage(session);
try{
mess.setFrom(new InternetAddress("156003025@qq.com"));//发件人
//收件人
mess.setRecipient(RecipientType.TO, new InternetAddress("674937561@qq.com"));
mess.setSentDate(new Date());
mess.setSubject("my java mail");
mess.setText(new String("您好,吕红芬".getBytes(),"UTF-8"));//发送内容
//指定邮件的优先级 1:紧急 3:普通 5:缓慢
mess.setHeader("X-Priority", "1");
//创建一个传输对象
Transport trans=session.getTransport("smtp");
//连接SMTP服务器
trans.connect("smtp.qq.com","156003025@qq.com","***");//这里是发件人的邮箱用户名和密码(我的密码就先隐藏啦)
trans.sendMessage(mess,mess.getAllRecipients());
trans.close();
}catch(Exception e){
e.printStackTrace();
}
}
(本文主要参考于书:《精通Java Web整合开发》)