基于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 项目中需要根据物料资质的状况实时给用 ...
随机推荐
- html基础(选择器,font属性 )
css选择器 css与html的关系 css以html为基础 css主要设置的就是html标签中的属性样式,css进行网页布局. css语法 选择器{属性:值,属性:值} css选择 ...
- sqoop数据导出
1.将oracle的jdbc的jar包copy到sqoop的lib目录下 2. sqoop export --connect jdbc:oracle:thin:@XXXXX:1521:TMDM --u ...
- DRL Hands-on book
代码:https://github.com/PacktPublishing/Deep-Reinforcement-Learning-Hands-On Chapter 1 What is Reinfor ...
- BeanFactory和ApplicationContext的区别+部分Spring的使用
BeanFactory和ApplicationContext的区别 ApplicationContext 方式加载:创建容器的同时 容器初始化,容器所有的bean创建完毕 Spring容器中获取一 ...
- jxbrowser 实现自定义右键菜单
https://blog.csdn.net/shuaizai88/article/details/73743691 public static void main(String[] args) { J ...
- GitHub-Tech-DotNet:Cnblogs
ylbtech-GitHub-Tech-DotNet:Cnblogs 1.返回顶部 · EnyimMemcachedCore Forked from enyim/EnyimMemcached A Me ...
- 阶段3 3.SpringMVC·_05.文件上传_5 文件上传之跨服务器上传分析和搭建环境
使用这个jar包来跨服务器上传 搞两个tomcat.一个springmvc一个fileupload 选中tomcat server点击左边的加号 需要改端口和JMX pport这个端口 部署文件上传的 ...
- linux 基础 配置静态IP
1.查看本机windows默认网关.DNS 2.配置linux 3.查询网络配置 4.xshell 登录 一 查看本机windows默认网关.DNS 二 配置linux(注意:默认网关.dns,必须跟 ...
- php文件夹上传下载控件分享
用过浏览器的开发人员都对大文件上传与下载比较困扰,之前遇到了一个php文件夹上传下载的问题,无奈之下自己开发了一套文件上传控件,在这里分享一下.希望能对你有所帮助. 以下是实例的部分脚本文件 这里我先 ...
- python数据存储--JSON
HTML正文存储为两种格式:JSON和CSV. 存储为JSON: 首先利用Requests访问http://seputu.com获取HTML文档: #!coding:utf-8 import requ ...