JAVAEE里的功能,不是javase里的东西,需要把jar包导入进来。
javax.mail.Session 代表邮件与服务器的一个回话
javax.mail.Message 代表一封邮件
javax.mail.Transport 传输对象,由来发送邮件
1、创建Session对象
2 创建和编写邮件
3 发送邮件
代码如下:
package a_mailDemo;
import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMessage.RecipientType;
import javax.mail.PasswordAuthentication;
public class Test {
public static void main(String[] args) throws AddressException, MessagingException {
Properties props = new Properties();
props.setProperty("mail.smtp.host", "smtp.sina.com");//发送端smtp服务器地址
props.setProperty("mail.smtp.auth", "true");//指定连接时需要验证用户信息
// 1 创建Session对象
Session session = Session.getDefaultInstance(props, new Authenticator() {//类体
@Override
protected PasswordAuthentication getPasswordAuthentication(){
//session连接服务器,就会把用户名和密码发送给服务器
//用户名不带@xxx
return new PasswordAuthentication("lzbsdust", "213025bao");//身份验证
}
});//每次调用都是同一个session对象
// 2 创建和编写邮件
Message message = new MimeMessage(session);//创建出邮件对象
//编写邮件
message.setFrom(new InternetAddress("lzbsdust@sina.com"));//设置发件人
message.setRecipient(RecipientType.TO, new InternetAddress("lzbsdust@sina.com")); //设置收件人类型,地址
//设置标题
message.setSubject("测试邮件你是我的大苹果");
//设置邮件的内容
message.setText("Hello Javamail!");
// 3 发送邮件
Transport.send(message);
//send内部做了三件事
// 1 .发送邮件的时候,使用session保存的连接参数,连接服务器
//2. 把邮件发送给需要接受的人,接受的人
//3. 关闭连接等一列的操作
}
}