欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  Java

分享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发送邮件工具类的详细内容,更多请关注其它相关文章!