基于apache-commons-email1.4 邮件发送
MailUtil.java
package com.lucky.base.common.util;
import com.zuche.framework.utils.PropertiesReader;
import org.apache.commons.mail.HtmlEmail;
import javax.mail.internet.InternetAddress;
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
/**
 * 发送邮件
 * Created by dongdong.shi@ucarinc.com on 2017/7/29.
 */
public final class MailUtil {
    /**
     * 邮件配置
     */
    private static final Properties CONFIG = PropertiesReader.getProperties("mail");
    /**
     * 默认编码
     */
    private static final String UTF8 = "utf-8";
    /**
     * 域名
     */
    private static String DOMAIN = CONFIG.getProperty("mail.domain");
    /**
     * 发送服务器地址
     */
    private static String HOST = CONFIG.getProperty("mail.host");
    /**
     * 发送端口
     */
    private static String PORT = CONFIG.getProperty("mail.port");
    /**
     * 用户名
     */
    private static String USER = CONFIG.getProperty("mail.user");
    /**
     * 密码
     */
    private static String PASSWORD = CONFIG.getProperty("mail.password");
    /**
     * 发送者
     */
    private static String SENDER = CONFIG.getProperty("mail.sender");
    /**
     * 获取邮件domain
     * @return 返回domain
     */
    public static String getMailDomain() {
        return DOMAIN;
    }
    /**
     * 获取admin的邮箱
     * @return admin邮箱地址
     */
    public static String getAdminMail() {
        return USER+"@"+DOMAIN;
    }
    /**
     * 发送邮件
     * @param receives 收件人,多个收件人以;隔开
     * @param subject 邮件主题
     * @param msg 邮件内容
     * @throws Exception 发送邮件异常
     */
    public static void send(String receives, String subject, String msg) throws Exception {
        HtmlEmail htmlEmail = new HtmlEmail();
        htmlEmail.setHostName(HOST);
        htmlEmail.setSmtpPort(Integer.parseInt(PORT));
        htmlEmail.setAuthentication(USER, PASSWORD);
        htmlEmail.setFrom(SENDER);
        htmlEmail.setTo(getSendAddressList(receives));
        htmlEmail.setCharset(UTF8);
        htmlEmail.setSubject(subject);
        htmlEmail.setMsg(msg);
        htmlEmail.send();
    }
    /**
     * 格式化邮件内容
     * @param template 邮件模板
     * @param args 参数
     * @return 返回实际的邮件内容
     */
    public static String format(String template, String[] args) {
        MessageFormat format = new MessageFormat(template);
        return format.format(args);
    }
    /**
     * 组装收件人
     * @param receives 收件人
     * @return 真实的收件人地址
     * @throws Exception 拼装邮件地址异常
     */
    private static List<InternetAddress> getSendAddressList(String receives) throws Exception {
        List<InternetAddress> addressList = new ArrayList<InternetAddress>();
        String[] tokens = receives.split(";");
        for(String address : tokens) {
            addressList.add(new InternetAddress(address));
        }
        return addressList;
    }
}
#配置文件#
mail.domain=luckycoffee.com
mail.host=mail.luckycoffee.com
mail.port=25
mail.user=sysadmin
mail.password=lucky_admin_2017
mail.sender=sysadmin@luckycoffee.com
mail.properties
mail.domain=luckycoffee.com
mail.host=mail.luckycoffee.com
mail.port=25
mail.user=sysadmin
mail.password=lucky_admin_2017
mail.sender=sysadmin@luckycoffee.com
基于apache-commons-email1.4 邮件发送的更多相关文章
- 使用Apache Commons Email 发生邮件
		Apache Commons Email的Maven依赖 <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-e ... 
- 邮件发送工具类 SendMail.java
		package com.util; import org.apache.commons.mail.EmailException; import org.apache.commons.mail.Simp ... 
- Spring 邮件发送
		前言:以前都是直接用Java自带的邮件工具发送邮件,现在Spring帮我们做了封装,提供了更好用更简单的发送邮件工具JavaMailSender 关于邮件服务器的设置就不在这里说了,直接去QQ邮箱 ... 
- Java系列--第八篇 基于Maven的SSME之定时邮件发送
		关于ssme这个我的小示例项目,想做到麻雀虽小,五脏俱全,看到很多一些web都有定时发送邮件的功能,想我ssme也加入一下这种功能,经查询相关文档,发现spring本身自带了一个调度器quartz,下 ... 
- 【commons】邮件发送工具——commons-email
		一.概述 直接通过官网的overview进行了解,一句话概括如下: Commons Email aims to provide a API for sending email. It is built ... 
- 基于Vue、Springboot网站实现第三方登录之QQ登录,以及邮件发送
		基于Vue.Springboot实现第三方登录之QQ登录 前言 一.前提(准备) 二.QQ登录实现 1.前端 2.后端 1.application.yml 和工具类QQHttpClient 2.QQL ... 
- java apache commons HttpClient发送get和post请求的学习整理(转)
		文章转自:http://blog.csdn.net/ambitiontan/archive/2006/01/06/572171.aspx HttpClient 是我最近想研究的东西,以前想过的一些应用 ... 
- AspNetCore 目前不支持SMTP协议(基于开源组件开发邮件发送,它们分别是MailKit 和 FluentEmail )
		net所有的功能都要重新来一遍,集成众多类库,core任重道远,且发展且努力!! 我们都知道,很多的邮件发送都是基于这个SMTP协议,但现在的.net core对这方面还不太支持,所以我们选择这两个组 ... 
- 基于javaMail的邮件发送--excel作为附件
		基于JavaMail的Java邮件发送 Author xiuhong.chen@hand-china.com Desc 简单邮件发送 Date 2017/12/8 项目中需要根据物料资质的状况实时给用 ... 
随机推荐
- 【Nginx】 linux环境下安装nginx步骤
			开始前,请确认gcc g++开发类库是否装好,默认已经安装. centos平台编译环境使用如下指令 安装make: yum -y install gcc automake autoconf libto ... 
- 用grep来查询日志
			转自:http://www.itokit.com/2013/0308/74883.html linux系统中,利用grep打印匹配的上下几行 如果在只是想匹配模式的上下几行,grep可以实现. ... 
- python基础_0623
			命名的规则: project name package name python file name 1. 不能以数字开头,不能使用中文 2. 不能使用关键字 3. 英文 字母 ... 
- selenium_java
			等待 页面全加载 ChromeOptions options=new ChromeOptions(); /** *(1) NONE: 当html下载完成之后,不等待解析完成,selenium会直接返回 ... 
- SQLServer 简单数据拆分
			--1. 旧的解决方法(sql server 2000) create table tb(id int,value varchar(30)) insert into tb values(1,'aa ... 
- 阶段3 3.SpringMVC·_03.SpringMVC常用注解_6 CookieValue注解
			演示 访问服务器会有session.它是一cookie的形式返回给客户端的 拿到的值 
- 190628 - 解决新版本LastPass没有谷歌套件时打开就闪退的问题.md
			目录 解决新版本LastPass没有谷歌套件时打开就闪退的问题 可用解决方案 可用解决方案3 可用解决方案2 可用解决方案1 尝试安装 碰到的问题列表 问题现象 解决新版本LastPass没有谷歌套件 ... 
- (转)java8实现对象列表去重
			java8实现列表去重,java8的stream和lambda的使用实例 通过普通的方式也可以达到去重的效果,但是借助java8新特性可以很方便的实现列表去重,测试demo如下 实体类: public ... 
- Angular引入第三方库
			原文已经写的很好了.原文链接: https://blog.csdn.net/yuzhiqiang_1993/article/details/71215232 加上2点给自己用,引入bootstrap样 ... 
- Elasticsearch mapping映射文件设置没有生效
			Elasticsearch mapping映射文件设置没有生效 问题背景 我们一般会预先创建 Elasticsearch index的 mapping.properties 文件(类似于MySQL中的 ... 
