使用java代码发送邮件
需要的jar 包: mail.jar
代码:
public void sendMess(String title) {
//1.创建信息配置对象,并配置相应信息
Properties props = new Properties();
//属性mail.debug是确定是否是开发模式,true为是,false为否
//属性mail.transport.protocol设置要使用的邮件协议
//属性mail.smtp.auth设置发送时是否校验用户名和密码
//还有其他属性,请查看相关文档
props.setProperty("mail.debug", "true");
props.setProperty("mail.transport.protocol", "smtp");
props.setProperty("mail.smtp.auth", "true");
//2.通过配置信息创建session对像
Session session = Session.getInstance(props);
//session设置dbug的时候会将整个邮件交互过程信息打印早控制台
session.setDebug(true);
//3.通过session对象获取Message邮件信息对象
Message msg = new MimeMessage(session);
// 以上部分为固定的
try {//设置邮件信息对象的各种字段信息
//msg.setText("你好朋友!");//邮件正文
msg.setSubject("邮件标题");//邮件标题
msg.setText(title);//邮件正文,我这里采用的是自动生成的
msg.setFrom(new InternetAddress("804919167@qq.com"));
//邮件接收地址
//3.获取传输对象,进行邮件发送
Transport transport= session.getTransport();
//连接信息:邮件服务器地址,端口号,用户名,密码
transport.connect("smtp.qq.com",587,"804919167", "gehzdttysorbbrti");//该密码是在smtp中生成的
//创建邮件接收地址数组,并放置一个邮箱接收地址。
List<String> list = getUserEmail();//需要发送的邮箱集合
Address [] addresies=new Address[list.size()];
for (int i = 0; i < list.size(); i++) {
addresies[i]=new InternetAddress( list.get(i));//需发送邮件的对象
}
transport.sendMessage(msg,addresies);
//4.关闭传输对象
transport.close();//关闭传输对象
} catch (AddressException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MessagingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}