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

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. Ubuntu更新提示哈希和不匹配“Hash Sum mismatch”

    Ubuntu更新提示哈希和不匹配"Hash Sum mismatch" 今天在常规更新软件的时候,我的ubuntu报了一个错误. 应该是ubuntu程序更新转交给另外一个更新造成 ...

  2. 面试笔试(C++部分)

    1.define 和const,inline的区别 define的缺点: 1.边界效应(必须加括号,才能避免边界效应) #define MUL(A,B) A*B 而在使用的时候,这样的调用: ,b=, ...

  3. leetcode-796-Rotate String

    题目描述: We are given two strings, A and B. A shift on A consists of taking string A and moving the lef ...

  4. Navigator 传值

    iOS 导航器 http://wiki.jikexueyuan.com/project/react-native/navigator-ios.html import React, { Componen ...

  5. selenium(python)用HTMLTestRunner导出报告(断言)信息的显示

    导出报告如图所示,没有显示相关信息 修改HTMLTestRunner.py文件的763-768行,注释掉if else,保留else 的uo = o 再次运行可看到信息(测试用例中的print信息也会 ...

  6. jenkins 重置构建历史

    item = Jenkins.instance.getItemByFullName("98")//THIS WILL REMOVE ALL BUILD HISTORYitem.bu ...

  7. 使用 Dotfuscator 对代码进行混淆

    Dotfuscator 简介 作为一种高级语言,c# 类库很容易被 .NET Reflector 这样的工具反编译.攻击者很容易从代码中找到数据库连接方式,加解密方法等重要信息.使用 dnspy 这样 ...

  8. Java 网络通信相关

    http://m.blog.csdn.net/xiaojin21cen/article/details/78587541 越下面越底层 , 最后面的都是框架 , 下面的是 编程语言提供的库的 NIO ...

  9. javascrpit sort()数组对象中排序

    /*ionic 调用 * @param attr 排序的属性 如number属性 * @param rev true表示升序排列,false降序排序 * */ commonSortMethod(att ...

  10. [大数据入门]实战练习 安装Cloudera-Hadoop集群

    实验环境规划   Hostname IP OS Roles Machine 0 elephant 192.168.124.131     Machine 1 tiger 192.168.124.132 ...