java 邮件发送

最近项目中要做到重置密码并将新密码通过邮件发送给用户的功能,所以练习并学会了如何使用java发送邮件,代码如下:

public static void sendMail(String mailTo, String newPwd) {//参数为收件人的邮箱地址及新密码
Properties pro = getProperties("ResetPwd.properties");
try {
Properties mailPro = new Properties();
Authenticator auth = new EmailAutherticator(//发件人身份验证
pro.getProperty("mail_from"),
pro.getProperty("mail_from_pwd"));
// 邮箱服务器
mailPro.put("mail.smtp.host", pro.getProperty("mail_smtp_host"));
mailPro.put("mail.smtp.auth", "true");
mailPro.put("mail.smtp.port",
Integer.parseInt(pro.getProperty("mail_smtp_port")));//邮件服务端口号
Session session = Session.getDefaultInstance(mailPro, auth);
MimeMessage message = new MimeMessage(session);//设置邮件发送信息
String subject = pro.getProperty("mail_subject");
try {
subject = new String(subject.getBytes("ISO-8859-1"), "utf-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
message.setSubject(subject);
message.setText("尊敬的用户,您的新密码为 " + newPwd
+ ",为确保您的个人信息安全,请尽快修改新密码。");
message.setSentDate(new Date());
Address from_address = new InternetAddress(
pro.getProperty("mail_from"));
message.setFrom(from_address);//设置发件人
Address to_address = new InternetAddress(mailTo);//设置收件人
message.setRecipient(Message.RecipientType.TO, to_address);
Transport.send(message);
} catch (Exception e) {
log.info("邮件发送失败" + e);
}
}

原文地址:https://www.cnblogs.com/zhli/p/2858086.html