分享Jmail发送邮件工具类
程序员文章站
2022-03-31 17:30:44
...
篇文章主要为大家分享了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;/** * <b>发送邮件工具类</b><br/> * <b>Create on:</b>2016/10/9 16:14<br/> * * @author : liud<br/> */@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; } }
以上就是分享Jmail发送邮件工具类的详细内容,更多请关注其它相关文章!