mail.jar 发送邮件
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 发送邮件的更多相关文章
- Java使用javax.mail.jar发送邮件并同意发送附件
因为Java在开发网页上占有绝大优势.所以作为web端的领军人物,譬如发送短信和发送邮件这些就成了必定,网络安全一再安全我们须要把账号的安全级别提到更高.因此这些对于开发者也就成了必须掌握的技能!我一 ...
- java mail jar冲突
开发环境:jdk1.6.0_25 MyEclipse-8.6 J2EE5 程序编译通过,J2EE5的库里面已经含有javaee.jar文件.里面的javax.mail包下面是jav ...
- java Mail如何发送邮件
1.应用场景:在系统需要发送与用户相关的消息时,而用户不在线,可以采取发送邮件的方式,使用户了解最新的系统情况 或者发送验证码等验证场景 2.实验环境 主要使用mail.jar和activation. ...
- Java 基于mail.jar 和 activation.jar 封装的邮件发送工具类
准备工作 发送邮件需要获得协议和支持! 开启服务 POP3/SMTP 服务 如何开启 POP3/SMTP 服务:https://www.cnblogs.com/pojo/p/14276637.html ...
- Java 使用 mail.jar 实现邮件发送
目录 准备工作 使用到的 jar 包 实现代码 准备工作 要想实现邮件发送, 需要先打开发送邮箱的 POP3/SMTP 服务,打开方式在 设置>帐户 中去打开,打开之后如果是qq邮箱会获得一个授 ...
- Linux下使用mail命令发送邮件
因为需要经常备份网站的数据,所以了解并学习了下linux下如何通过shell来发送邮件,这里以CentOS为例,使用mail命令来进行外部邮件的发送.mail命令的语法如下: Usage: mail ...
- 用linux mail命令发送邮件[Linux]
mail [-s 邮件标题] <<邮件地址1> [邮件地址2] [邮件地址3]> [ < 包含邮件内容的文件路径 ] <-- -f 发送邮件地址> [-F 显 ...
- 浏览器访问php脚本通过sendmail用mail函数发送邮件
前几天做项目遇到这样的一个问题:当某一个结点下有新的文章发表的时候,以邮件的形式通知该结点下的所有用户.这就需要用到邮件发送的功能. 因为项目是php语言做的,所以最简单的方法就是使用php自带的函数 ...
- Ubuntu下使用mail命令发送邮件
Ubuntu下使用mail命令发送邮件 mail命令在Ubuntu下是需要安装的,使用下条命令进行安装: sudo apt-get install heirloom-mailx 接下来输入用户密码,等 ...
随机推荐
- C#复习题(概念) --C#学习笔记
第一章 1.公共语言架构(CLI)由哪几部分组成? (1)通用类型系统:定义了一套类型系统的框架,规定了数据类型的声明.使用和管理方法. (2)公共语言规范:一组语言规则的集合 (3)通用中间语言:一 ...
- ionic3 打包一个已签名的apk
1 进入ionic官方文档,点击左边导航菜单,找到INTRO下的Deploying2 终端进入项目目录(根据项目环境定是否需要root权限)3 运行命令ionic cordova build andr ...
- android------基础面试题
1. Android的四大组件是哪些,它们的作用? 答:Activity:Activity是Android程序与用户交互的窗口,是Android构造块中最基本的一种,它需要为保持各界面的状态,做很多持 ...
- Spring Batch Bean 校验 API 支持
这个发布版本带来了一个新的 ValidatingItemProcessor 实现,这个实现被称为 BeanValidatingItemProcessor.能够让你使用 Bean Validation ...
- CF1114E Arithmetic Progression
给定一个打乱的等差数列,每次两种操作. 1.查询一个位置. 2.查询是否有比x大的数字. 一共60次操作. sol: 30次操作即可二分出首项. 剩下30次操作查询出30个位置然后两两做差取gcd即可 ...
- Oracle11g温习-第十九章:审计(audit)
2013年4月27日 星期六 10:52 1.审计的功能:监控用户在database 的 action (操作) 2.审计分类 1) session :在同一个session,相同的语句只产生一个审计 ...
- Oracle查询前几条数据的方法
在Oracle中实现select top N:由于Oracle不支持select top 语句,所以在Oracle中经常是用order by 跟rownum的组合来实现select top n的查询. ...
- [codechef July Challenge 2017] IPC Trainers
IPCTRAIN: 训练营教练题目描述本次印度编程训练营(Indian Programming Camp,IPC)共请到了 N 名教练.训练营的日程安排有 M 天,每天最多上一节课.第 i 名教练在第 ...
- 如何仅用递归函数和栈操作逆序一个栈——你要先用stack实现,再去改成递归——需要对递归理解很深刻才能写出来
/** * 如何仅用递归函数和栈操作逆序一个栈 * 题目: * 一个栈依次压入1,2,3,4,5,那么从栈顶到栈底分别为5,4,3,2,1. * 将这个栈转置后,从栈顶到栈底为1,2,3,4,5,也就 ...
- 网页定位点击事件js响应函数教程(Chrome)
一.背景说明 在前端页面调试或者渗透测试(尤其是XSS)时,我们经常想定位js函数位置:比如点击了某个位置弹出了一个对话框,这是哪个文件的哪个js函数在响应. 本文以Chrome浏览器定位点击事件响应 ...