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; } }

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

你可能感兴趣的:(Jmail发送邮件工具类分享)