JavaMail
是Java提供的一组API,用来发送和接收邮件
主要架包
mail.jar activation.jar
邮件协议概述
与HTTP协议相同,收发邮件也是需要有传输协议的。
SMTP:(Simple Mail Transfer Protocol,简单邮件传输协议)发邮件协议;
POP3:(Post Office Protocol Version 3,邮局协议第3版)收邮件协议;
IMAP:(Internet Message Access Protocol,因特网消息访问协议)收发邮件协议.
邮件服务器名称
邮件服务器名称
smtp服务器的端口号为25,服务器名称为smtp.xxx.xxx。
pop3服务器的端口号为110,服务器名称为pop3.xxx.xxx。
例如:
163:smtp.163.com和pop3.163.com;
126:smtp.126.com和pop3.126.com;
qq:smtp.qq.com和pop3.qq.com;
sohu:smtp.sohu.com和pop3.sohu.com;
sina:smtp.sina.com和pop3.sina.com。
因此必须提示再测试邮件是否能够正常发送时,首先保证使用的邮箱的协议打开,协议打开方式进行百度了解即可
JavaMail简单测试
public class Demo{
@Test
public void fun(){
//1、得到session
/*
Sesssion session=Session.getInstance(Properties props, Authenticator auth);
其中props需要指定两个键值,一个指定服务器主机名,另一个则指定认真
*/
Properties prop=new Properties();
props.setProperty("mail.host","smtp.126.com"); //设置主机名
props.setProperty("mail.smtp.auth","true");
Authenticator auth=new Authenticator(){
protected PasswordAuthentciation getPasswordAuthentication(){
return new PasswordAuthentication("wb_0xae","password");
}
};
Session session=Session.getInstance(props,auth); //获取session
//2、创建MimeMessage需要用session创建
MimeMessage msg=new MimeMessage(session);
msg.setFrom(new InternetAddress("wb_0xae@126.com"));//设置发件人
msg.setRecipients(RecipientType.TO,"wb_0xae@163.com");//设置收件人
msg,setRecipients(RecipientType.CC,"wb_0xae@163.com");//设置抄送
msg.setRecipients(RecipientType.BCC,"wb_0xae@163.com")//设置密送
msg。setSubect("Javamail测试");
msg.setContent("垃圾邮件请及时处理","text/html;charset=utf-8");
//3、发送\
Transport.send(msg);
}
}