Jmail发送邮件工具类分享

这篇文章主要为大家分享了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

*/ @Slf4j public 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; } }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。

相关文章

Java中的String是不可变对象 在面向对象及函数编程语言中,不...
String, StringBuffer 和 StringBuilder 可变性 String不可变...
序列化:把对象转换为字节序列的过程称为对象的序列化. 反序...
先说结论,是对象!可以继续往下看 数组是不是对象 什么是对...
为什么浮点数 float 或 double 运算的时候会有精度丢失的风险...
面试题引入 这里引申出一个经典问题,看下面代码 Integer a ...