public static void main(String[] args) throws AddressException, MessagingException {
Properties props = new Properties();
//这里说明我是要发邮件还是取邮件,如果是发邮件就是smtp协议
props.setProperty("mail.transport.protocol", "smtp");//设置协议
//这里就是设置服务器,虽然知道了是来发邮件,但是用那个服务器要指明,相当于命令行的 telnet smtp.sina.com 25
props.setProperty("mail.host", "smtp.sina.com"); //设置服务器
//要求验证,登入sina的smtp服务器之后,要auth login 来设置验证
props.setProperty("mail.smtp.auth", "true"); //要求验证
//得到环境信息的配置session,同时验证用户名和密码
Session session = Session.getInstance(props,new Authenticator(){
public PasswordAuthentication getPasswordAuthentication(){ //设置密码和用户名
return new PasswordAuthentication("hwt_211","wentao211()");
}
});
session.setDebug(true);
//这里是设置邮件内容
Message message = new MimeMessage(session);
message.setSubject("邮件开发测试"); //设置主题
message.setSentDate(new Date());//设置发送时间
message.setFrom(new InternetAddress("hwt_211@sina.com"));//设置发件人
//设置收件人,多个收件人也可以是一个收件人,RecipientType.TO / CC / BCC 来设置收件人/抄送/密送
message.setRecipients(RecipientType.TO, InternetAddress.parse("351495916@qq.com,hwt_211@qq.com,hwt_2112@sohu.com"));
message.setContent("<font color=red size=20>测试内容</font>", "text/html;charset=gbk");
//这里是用Transport类的静态方法,这个方法可以自动开连接和关闭连接
Transport.send(message);
//如果是用实现类的transport的sendMessager(message,接受者)
Transport transport = session.getTransport();
transport.sendMessage(message, new Address[]{new InternetAddress("hwt_211@qq.com")});//如果在这里配置了地址的话,那么在message的接受者,recipient就不要配置了
transport.close();
}