篇文章主要为大家分享了Jmail发送邮件工具类,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,话不多说上代码
import lombok.extern.slf4j.Slf4j;import java.util.Properties;import javax.mail.*;import javax.mail.internet.AddressException;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeMessage;/**
* 发送邮件工具类
* Create on:2016/10/9 16:14
*
* @author : liud
*/@Slf4jpublic class SendMailUtil {/** * 发送邮件
* @param smtpHost
* @param fromUser
* @param fromUserPassword
* @param emailPort
* @param toUser
* @param subject
* @param messageText */public static boolean doSendEmail(String smtpHost, final String fromUser,final String fromUserPassword, String userName, String emailPort, String toUser, String subject,
String messageText) throws Exception {boolean flag = false;try {
Properties props = new Properties();
props.put("mail.smtp.host", smtpHost);
props.put("mail.smtp.port", emailPort);
props.put("mail.smtp.auth", "true");
Session session = Session.getDefaultInstance(props, new Authenticator(){protected PasswordAuthentication getPasswordAuthentication() {return new PasswordAuthentication(fromUser, fromUserPassword);
}});
MimeMessage message = new MimeMessage(session);// 发件人InternetAddress from = new InternetAddress(fromUser);
message.setFrom(from);// 收件人InternetAddress to = new InternetAddress(toUser);
message.setRecipient(Message.RecipientType.TO, to);// 邮件标题 message.setSubject(subject);// 邮件内容,也可以使纯文本"text/plain"message.setContent(messageText, "text/html;charset=GBK");
message.saveChanges();
Transport transport = session.getTransport("smtp");// smtp验证,就是你用来发邮件的邮箱用户名密码 transport.connect(smtpHost, userName, fromUserPassword);// 发送 transport.sendMessage(message, message.getAllRecipients());
transport.close();
flag = true;
} catch (AddressException e) {
log.error("地址异常:{}", e);throw e;
} catch (MessagingException e) {
log.error("消息异常:{}", e);throw e;
} catch (Exception e) {
log.error("系统异常:{}", e);throw e;
}return flag;
}
}