好久没更新博客了,实在是拖延症严重啊,好可怕,先更新个工具类吧,之前写的发送邮件的小工具,话不多说上代码

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/>
*/
@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发送邮件工具类的更多相关文章

  1. JAVA发送邮件工具类

    import java.util.Date;import java.util.Properties; import javax.mail.BodyPart;import javax.mail.Mess ...

  2. 发送邮件工具类MailHelper

    using System; using System.Net; using System.Net.Mail; using System.Text; using System.Threading; na ...

  3. java HtmlEmail发送邮件工具类

    package com.sh.xrsite.common.utils; import java.io.File; import java.util.HashMap; import java.util. ...

  4. Java 发送邮件工具类

    1.  Mail.java package util; import java.util.Date; import java.util.Properties; import javax.mail.Au ...

  5. java中使用javaMail工具类发送邮件

    1.引入依赖 <!--javaMail--> <dependency> <groupId>javax.mail</groupId> <artifa ...

  6. 01_JavaMail_05_创建邮件工具类MailUtils等方便发送邮件

    [工程截图] [代码实现] [Mail.java] package com.Higgin.Utils; import java.util.ArrayList; import java.util.Lis ...

  7. Apache Commons 工具类介绍及简单使用

    转自:http://www.cnblogs.com/younggun/p/3247261.html Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动.下 ...

  8. 项目经验分享——Java常用工具类集合 转

    http://blog.csdn.net/xyw591238/article/details/51678525 写在前面     本文涉及的工具类部分是自己编写,另一部分是在项目里收集的.工具类涉及数 ...

  9. java 邮件发送工具类

    首先需要下载mail.jar文件,我个人通常是使用maven中心库的那个: <dependency> <groupId>javax.mail</groupId> & ...

随机推荐

  1. Arch下error: signature from "NAME<EMAIL ADD>"

    pacman的unknown trust问题错误消息类似于:error: signature from "NAME<EMAIL ADD>" is unknown tru ...

  2. 前端之JS的线程(最易懂)

    1. 前言 很多文章在介绍线程以及线程之间的关系,都存在着脱节的现象.还有的文章过于广大,涉及到了内核,本文希望以通俗易懂的话去描述晦涩的词语,可能会和实际有一丢丢的出入,但是更易理解. 我们都知道J ...

  3. kaggle kernel使用指南

    有几个要注意的地方: 1.可以选择CPU或GPU,但是机器学习模型一般的CPU就够了,最近(2019.04)使用GPU的话一小时后总是会断开连接,这时候要跑久一点的cell就凉了. 2.导入文件:支持 ...

  4. 启动与销毁Activity

    启动与销毁Activity 编写:kesenhoo - 原文:http://developer.android.com/training/basics/activity-lifecycle/start ...

  5. C# Directory和DirectoryInfo类(文件目录操作)

    对目录操作例子: using System; using System.Collections.Generic; using System.Linq; using System.Text; using ...

  6. 【Python】二进制转ASCII码小脚本

    #coding:utf-8 #developed by carrypan! import binascii import optparse def main(): usage="%prog ...

  7. javascipt中数组的常见操作

    1.与lua不同,即使数组中间有null或者undefined,仍然能求出正确的长度 2.length 改变.length也会改变数组的大小 3. indexOf arr.indexOf(a)会返回第 ...

  8. 解决js array的key不为数字时获取长度的问题

    最近写js时碰到了当数组key不为数字时,获取数组的长度为0 的情况. 1.问题场景 var arr = new Array(); arr[‘s1‘] = 1001; console.log(arr. ...

  9. du及df命令的使用

    在本文中,我将讨论 du 和 df 命令.du 和 df 命令都是 Linux 系统的重要工具,来显示 Linux 文件系统的磁盘使用情况.这里我们将通过一些例子来分享这两个命令的用法. du 命令 ...

  10. ActivityManagerService数据结构Activity栈管理(二)

    ActivityManagerService要管理四大组件,那四大组件就必须在AMS中有存在的形式,这里先从AMS 如何管理Activity 谈起: Activity在AMS 中存在的形式为Activ ...