1.spring参数注入+util 发送邮件

2.util配置参数+util发送邮件

1.spring参数注入+util 发送邮件

    <bean id="mailSender" class="com.midea.ftms.util.MailSender">
<property name="host" value="${mail.smtp.host}"></property>
<property name="auth" value="${mail.smtp.auth}"></property>
<property name="user" value="${mail.user}"></property>
<property name="password" value="${mail.passwd}"></property>
<property name="from" value="${mail.from}"></property>
<property name="remindNum" value="${mail.remindnum}"></property>
<property name="debugModel" value="${mail.debug}"></property>
</bean>
import java.util.Properties;

import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage; public class MailSender { private String host;
private String auth;
private String user;
private String password;
private String from;
private Integer remindNum;
private Boolean debugModel; public MailSender() { } /**
* @see 发送邮件基础方法,请遵循使用规则 MailUtil.sendMail
* @param to 邮件接收地址
* @param subject 邮件主题
* @param content 邮件内容
* @throws Exception 调用者处理异常
*/
public void send(String[] to, String subject, String content)
throws Exception {
Properties props = new Properties();
// 指定SMTP服务器
props.put("mail.smtp.host", host);
// 指定是否需要SMTP验证
props.put("mail.smtp.auth", auth);
Session mailSession = Session.getDefaultInstance(props);
// 是否在控制台显示debug信息
mailSession.setDebug(debugModel);
Message message = new MimeMessage(mailSession);
// 发件人
message.setFrom(new InternetAddress(from));
// 收件人
InternetAddress[] addresses = new InternetAddress[to.length];
for (int i = ; i < to.length; i++) {
addresses[i] = new InternetAddress(to[i]);
}
message.setRecipients(Message.RecipientType.TO, addresses);
// 邮件主题
message.setSubject("subject:"+subject);
// 邮件内容(HTML格式)
message.setContent(content, "text/html;charset=GBK");
// 保存设置,让设置生效
message.saveChanges();
// 发送
Transport transport = mailSession.getTransport("smtp");
transport.connect(host, user, password);
transport.sendMessage(message, message.getAllRecipients());
transport.close();
} public String getHost() {
return host;
} public void setHost(String host) {
this.host = host;
} public String getAuth() {
return auth;
} public void setAuth(String auth) {
this.auth = auth;
} public String getUser() {
return user;
} public void setUser(String user) {
this.user = user;
} public String getPassword() {
return password;
} public void setPassword(String password) {
this.password = password;
} public String getFrom() {
return from;
} public void setFrom(String from) {
this.from = from;
} public Integer getRemindNum() {
return remindNum;
} public void setRemindNum(Integer remindNum) {
this.remindNum = remindNum;
} public Boolean getDebugModel() {
return debugModel;
} public void setDebugModel(Boolean debugModel) {
this.debugModel = debugModel;
} }
public class MailUtil {

    private static volatile MailSender mailSender;

    private MailUtil() {

    }

    public static MailSender init() {
if (mailSender == null) {
synchronized (MailSender.class) {
if (mailSender == null) {
// mailSender = new MailSender();
mailSender = (MailSender)ContextUtil.getContext().getBean("mailSender");
}
}
}
return mailSender;
} public static void sendMail(String[] to, String subject, String content)
throws Exception {
MailUtil.init().send(to, subject, content);
} public static void main(String[] args) {
MailUtil.init().setAuth("true");
MailUtil.init().setDebugModel(true);
MailUtil.init().setFrom("a@b.com");
MailUtil.init().setHost("cd.com.cn");
MailUtil.init().setUser("user");
MailUtil.init().setPassword("passwd");
MailUtil.init().setRemindNum();
try {
MailUtil.sendMail(new String[]{"asdfa@qq.com","134324323@qq.com"}, "测试", "hello yoyo");
} catch (Exception e) {
e.printStackTrace();
}
} }

2.util配置参数+util发送邮件

import java.util.Properties;

import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage; public class MailSendUtil { private String host;
private String auth;
private String user;
private String password;
private String from;
private Integer remindNum;
private Boolean debugModel; private volatile static MailSendUtil mailSendUtil; private MailSendUtil(){
init();
} private void init() {
host = PropertiesUtil.getProperty("mail.smtp.host");
auth = PropertiesUtil.getProperty("mail.smtp.auth");
user = PropertiesUtil.getProperty("mail.user");
password = PropertiesUtil.getProperty("mail.passwd");
from = PropertiesUtil.getProperty("mail.from");
remindNum = Integer.parseInt(PropertiesUtil.getProperty("mail.remindnum"));
debugModel = Boolean.valueOf(PropertiesUtil.getProperty("mail.debug"));
} public static MailSendUtil getInstance() {
if (mailSendUtil == null) {
synchronized (MailSendUtil.class) {
if (mailSendUtil == null) {
return new MailSendUtil();
}
}
}
return mailSendUtil;
} public static void sendMail(String[] to, String subject, String content)
throws Exception {
MailSendUtil.getInstance().send(to, subject, content);
} /**
* @see 发送邮件基础方法,请遵循使用规则 MailUtil.sendMail
* @param to 邮件接收地址
* @param subject 邮件主题
* @param content 邮件内容
* @throws Exception 调用者处理异常
*/
public void send(String[] to, String subject, String content)
throws Exception {
Properties props = new Properties();
// 指定SMTP服务器
props.put("mail.smtp.host", host);
// 指定是否需要SMTP验证
props.put("mail.smtp.auth", auth);
Session mailSession = Session.getDefaultInstance(props);
// 是否在控制台显示debug信息
mailSession.setDebug(debugModel);
Message message = new MimeMessage(mailSession);
// 发件人
message.setFrom(new InternetAddress(from));
// 收件人
InternetAddress[] addresses = new InternetAddress[to.length];
for (int i = ; i < to.length; i++) {
addresses[i] = new InternetAddress(to[i]);
}
message.setRecipients(Message.RecipientType.TO, addresses);
// 邮件主题
message.setSubject("subject:"+subject);
// 邮件内容(HTML格式)
message.setContent(content, "text/html;charset=GBK");
// 保存设置,让设置生效
message.saveChanges();
// 发送
Transport transport = mailSession.getTransport("smtp");
transport.connect(host, user, password);
transport.sendMessage(message, message.getAllRecipients());
transport.close();
} }

3.遇到发送邮件正常,但是没有主题,也没有收件人的情况,请删除 geronimo-javamail_1.4_spec-1.2.jar

mail.jar 发送邮件的更多相关文章

  1. Java使用javax.mail.jar发送邮件并同意发送附件

    因为Java在开发网页上占有绝大优势.所以作为web端的领军人物,譬如发送短信和发送邮件这些就成了必定,网络安全一再安全我们须要把账号的安全级别提到更高.因此这些对于开发者也就成了必须掌握的技能!我一 ...

  2. java mail jar冲突

    开发环境:jdk1.6.0_25     MyEclipse-8.6     J2EE5   程序编译通过,J2EE5的库里面已经含有javaee.jar文件.里面的javax.mail包下面是jav ...

  3. java Mail如何发送邮件

    1.应用场景:在系统需要发送与用户相关的消息时,而用户不在线,可以采取发送邮件的方式,使用户了解最新的系统情况 或者发送验证码等验证场景 2.实验环境 主要使用mail.jar和activation. ...

  4. Java 基于mail.jar 和 activation.jar 封装的邮件发送工具类

    准备工作 发送邮件需要获得协议和支持! 开启服务 POP3/SMTP 服务 如何开启 POP3/SMTP 服务:https://www.cnblogs.com/pojo/p/14276637.html ...

  5. Java 使用 mail.jar 实现邮件发送

    目录 准备工作 使用到的 jar 包 实现代码 准备工作 要想实现邮件发送, 需要先打开发送邮箱的 POP3/SMTP 服务,打开方式在 设置>帐户 中去打开,打开之后如果是qq邮箱会获得一个授 ...

  6. Linux下使用mail命令发送邮件

    因为需要经常备份网站的数据,所以了解并学习了下linux下如何通过shell来发送邮件,这里以CentOS为例,使用mail命令来进行外部邮件的发送.mail命令的语法如下: Usage: mail ...

  7. 用linux mail命令发送邮件[Linux]

    mail [-s 邮件标题] <<邮件地址1> [邮件地址2] [邮件地址3]> [ < 包含邮件内容的文件路径 ] <-- -f 发送邮件地址> [-F 显 ...

  8. 浏览器访问php脚本通过sendmail用mail函数发送邮件

    前几天做项目遇到这样的一个问题:当某一个结点下有新的文章发表的时候,以邮件的形式通知该结点下的所有用户.这就需要用到邮件发送的功能. 因为项目是php语言做的,所以最简单的方法就是使用php自带的函数 ...

  9. Ubuntu下使用mail命令发送邮件

    Ubuntu下使用mail命令发送邮件 mail命令在Ubuntu下是需要安装的,使用下条命令进行安装: sudo apt-get install heirloom-mailx 接下来输入用户密码,等 ...

随机推荐

  1. 20190102xlVBA_多表按姓名同时拆分

    Sub 多表按姓名同时拆分20190102() AppSettings Dim StartTime As Variant Dim UsedTime As Variant StartTime = VBA ...

  2. P3489 付公主的背包

    题意:n<=1e5,m<=1e5,跑n个物品1到m容量的完全背包. 考虑暴力的做法就是把一些1/(1+x^a)的多项式乘起来即可. 考虑优化,取一下ln,转化为加法,然后exp回去就好了.

  3. string用scanf读入printf输出(节省时间)

    #include <iostream> #include <stdio.h> #include <string.h> using namespace std; in ...

  4. github第一步之初始化操作

    目录 0.首先注册一个账号 1.创建知识库Repository 2.创建一个分支branch--feature 3.制作并提交commit 4.打开拉取请求pull 5.合并自己的pull请求 git ...

  5. iBeacon室内定位原理解析【转】

    目前,技术发展持续火热,因着iBeacon的定位精度和造价都比较符合国内室内定位的市场需求,下面我们来聊一聊iBeacon室内定位原理. iBeacon定位原理 iBeacon是一项低耗能蓝牙技术,工 ...

  6. 2.Liunx 系统设置

    1.基本命令:clear 2.环境变量: alias .export 大纲 系统管理命令 1.用户管理:adduser .passwd. userdel 2.用户组管理:groupadd.groupd ...

  7. loj 10000 活动安排

    ****这是一个贪心题,把结束时间排个序,然后留出更多的时间给后面的活动. #include<cstdio> #include<cstring> #include<alg ...

  8. java关键字总结

    static: 用来修饰成员变量和成员方法,也可以形成静态static代码块,可以形成静态内部类,也可以用于静态导包. 1.静态方法中不能用this和super关键字,不能直接访问所属类的实例变量和实 ...

  9. stealwatch里的安全功能——ETA结果会显示加密套件以及key长度,还有流量大小(例如41MB)

    以后可以考虑的方向,在stealwatch里包含: ad Injector click fraud cryptocurrency miner exploit kit malicious adverti ...

  10. asp.net mvc中动作方法的重定向

    简单介绍一下mvc控制器下怎样重定向的其它页面 1.方式1:Response.Redirect重定向 //Response.Redirect方式跳转 Response.Redirect("~ ...