1 importjava.util.Properties;2
3 importjavax.mail.Authenticator;4 importjavax.mail.MessagingException;5 importjavax.mail.PasswordAuthentication;6 importjavax.mail.Session;7 importjavax.mail.Transport;8 importjavax.mail.Message.RecipientType;9 importjavax.mail.internet.InternetAddress;10 importjavax.mail.internet.MimeMessage;11
12 public class SendMailThread extendsThread{13
14 privateString mailAdr;15 privateString content;16 privateString subject ;17
18 publicSendMailThread(String mailAdr, String subject, String content) {19 super();20 this.mailAdr =mailAdr;21 this.content =content;22 this.subject =subject;23 }24
25 @Override26 public voidrun() {27 //TODO Auto-generated method stub
28 super.run();29 sendMail(mailAdr,subject,content);30 }31
32 /*
37 public voidsendMail(String mailAdr,String subject,String content){38 //配置发送邮件的环境属性
39 final Properties props = newProperties();40 //表示SMTP发送邮件,需要进行身份验证
41 props.put("mail.smtp.auth", "true");42 props.put("mail.smtp.host", "smtp.qq.com");43 //smtp登陆的账号、密码 ;需开启smtp登陆
44 props.put("mail.user", "XXXXX@qq.com");45 //访问SMTP服务时需要提供的密码,不是邮箱登陆密码,一般都有smtp的登陆密码
46 props.put("mail.password", "XXXXX");47
48 //构建授权信息,用于进行SMTP进行身份验证
49 Authenticator authenticator = newAuthenticator() {50 @Override51 protectedPasswordAuthentication getPasswordAuthentication() {52 //用户名、密码
53 String userName = props.getProperty("mail.user");54 String password = props.getProperty("mail.password");55 return newPasswordAuthentication(userName, password);56 }57 };58
59 //使用环境属性和授权信息,创建邮件会话
60 Session mailSession =Session.getInstance(props, authenticator);61 //创建邮件消息
62 MimeMessage message = newMimeMessage(mailSession);63 //设置发件人
try{65 InternetAddress form = newInternetAddress(66 props.getProperty("mail.user"));67 message.setFrom(form);68
69 //设置收件人
70 InternetAddress to = newInternetAddress(mailAdr);71 message.setRecipient(RecipientType.TO, to);72
73 //设置抄送74 //InternetAddress cc = new InternetAddress("luo_aaaaa@yeah.net");75 //message.setRecipient(RecipientType.CC, cc);76
81 //设置邮件标题
82 message.setSubject(subject);83 //设置邮件的内容体
84 message.setContent(content, "text/html;charset=UTF-8");85 //发送邮件
86 Transport.send(message);87 }catch(MessagingException e){88 e.printStackTrace(); }90 }91
92 public static voidmain(String[] args) {93 //TODO Auto-generated method stub
94 SendMailThread d = new SendMailThread("xxxxxxx@qq.com","测试邮件标题","测试邮件001
内容....");95 d.start();96 System.out.println("程序继续...");97 }98
99 }