java spring 邮件发送
- POM文件配置
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.1.6.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>4.1.6.RELEASE</version>
</dependency>
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.7</version>
</dependency>
</dependencies>POM dependencies
- spring 配置
<!-- Production implementation of the JavaMailSender interface, supporting
both JavaMail MimeMessages and Spring SimpleMailMessages -->
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="smtp.gmail.com" />
<property name="port" value="587" />
<property name="username" value="<!-- Provide your Gmail ID -->" />
<property name="password" value="<!-- Provide your Gmail Password -->" /> <!-- The name of the property, following JavaBean naming conventions -->
<property name="javaMailProperties">
<props>
<prop key="mail.transport.protocol">smtp</prop>
<prop key="mail.smtp.auth">true</prop>
<prop key="mail.smtp.starttls.enable">true</prop>
<prop key="mail.debug">true</prop>
</props>
</property>
</bean>spring 配置
- 邮件发送接口
/**
* Copyright (c) 2015, www.wisdombud.com
* All Rights Reserved.
*/
package com.wisdombud.wisdomhr.common.srv; import java.io.FileNotFoundException; import javax.mail.MessagingException; /**
* 功能: 邮件发送接口.<br/>
* date: 2015年8月24日 上午9:53:05 <br/>
*
* @author joseph
* @version
*/
public interface MailSenderSrv {
/**
* 功能: 发普通邮件,msgBody是普通的文本.<br/>
* date: 2015年8月24日 上午9:57:19 <br/>
*
* @author joseph
* @param toAddress
* @param fromAddress
* @param subject
* @param msgBody
*/
void sendEmail(String toAddress, String fromAddress, String subject, String msgBody); /**
* 功能: 发html邮件或者普通邮件,msgBody是html文本或者普通文本.<br/>
* MimeMessage 消息发送.<br/>
* date: 2015年8月24日 上午9:57:19 <br/>
*
* @author joseph
* @param toAddress
* @param fromAddress
* @param subject
* @param msgBody
* @throws MessagingException
*/
void sendHtmlEmail(String toAddress, String fromAddress, String subject, String htmlBody) throws MessagingException; /**
* 功能: 发html邮件或者普通邮件,msgBody是html文本或者普通文本,带附件.<br/>
* MimeMessage 消息发送.<br/>
* date: 2015年8月24日 上午9:57:19 <br/>
*
* @author joseph
* @param toAddress
* @param fromAddress
* @param subject
* @param msgBody
* @throws MessagingException
* @throws FileNotFoundException
*/
void sendHtmlEmail(String toAddress, String fromAddress, String subject, String htmlBody, String filePath)
throws MessagingException, FileNotFoundException; /**
* 功能: 发html邮件或者普通邮件,msgBody是html文本或者普通文本,带附件.<br/>
* MimeMessage 消息发送.<br/>
* date: 2015年8月24日 上午9:57:19 <br/>
*
* @author joseph
* @param toAddress
* @param fromAddress
* @param subject
* @param htmlBody
* @param filePath
* @param fileName
* @throws MessagingException
* @throws FileNotFoundException
*/
void sendHtmlEmail(String toAddress, String fromAddress, String subject, String htmlBody, String filePath,
String fileName) throws MessagingException, FileNotFoundException;
}邮件发送接口代码
- 邮件发送实现
/**
* Copyright (c) 2015, www.wisdombud.com
* All Rights Reserved.
*/
package com.wisdombud.wisdomhr.common.srv; import java.io.File;
import java.io.FileNotFoundException; import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Service; /**
* 功能: 邮件发送实现.<br/>
* date: 2015年8月24日 上午10:07:01 <br/>
*
* @author joseph
* @version
*/
@Service("mailSenderSrv")
public class MailSenderSrvImpl implements MailSenderSrv { @Autowired
private JavaMailSender mailSender; /**
* @see com.wisdombud.wisdomhr.common.srv.MailSenderSrv#sendEmail(java.lang.String,
* java.lang.String, java.lang.String, java.lang.String)
*/ @Override
public void sendEmail(String toAddress, String fromAddress, String subject, String msgBody) {
SimpleMailMessage simpleMailMessage = new SimpleMailMessage();
simpleMailMessage.setFrom(fromAddress);
simpleMailMessage.setTo(toAddress);
simpleMailMessage.setSubject(subject);
simpleMailMessage.setText(msgBody);
mailSender.send(simpleMailMessage);
} /**
* @throws MessagingException
* @see com.wisdombud.wisdomhr.common.srv.MailSenderSrv#sendHtmlEmail(java.lang.String,
* java.lang.String, java.lang.String, java.lang.String)
*/ @Override
public void sendHtmlEmail(String toAddress, String fromAddress, String subject, String htmlBody)
throws MessagingException {
MimeMessage message = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(message, "UTF-8");
helper.setTo(toAddress);
helper.setFrom(fromAddress);
helper.setText(htmlBody, true);
helper.setSubject(subject); mailSender.send(message); } /**
* @throws MessagingException
* @throws FileNotFoundException
* @see com.wisdombud.wisdomhr.common.srv.MailSenderSrv#sendHtmlEmail(java.lang.String,
* java.lang.String, java.lang.String, java.lang.String,
* java.lang.String)
*/ @Override
public void sendHtmlEmail(String toAddress, String fromAddress, String subject, String htmlBody, String filePath)
throws MessagingException, FileNotFoundException {
MimeMessage message = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(message, true, "UTF-8");
helper.setTo(toAddress);
helper.setFrom(fromAddress);
helper.setText(htmlBody, true);
helper.setSubject(subject);
File file = new File(filePath);
if (!file.exists()) {
throw new FileNotFoundException("找不到附件:" + filePath);
}
helper.addAttachment(file.getName(), file);
mailSender.send(message);
} /**
* @throws MessagingException
* @throws FileNotFoundException
* @see com.wisdombud.wisdomhr.common.srv.MailSenderSrv#sendHtmlEmail(java.lang.String,
* java.lang.String, java.lang.String, java.lang.String,
* java.lang.String)
*/ @Override
public void sendHtmlEmail(String toAddress, String fromAddress, String subject, String htmlBody, String filePath,
String fileName) throws MessagingException, FileNotFoundException {
MimeMessage message = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(message, true, "UTF-8");
helper.setTo(toAddress);
helper.setFrom(fromAddress);
helper.setText(htmlBody, true);
helper.setSubject(subject);
File file = new File(filePath);
if (!file.exists()) {
throw new FileNotFoundException("找不到附件:" + filePath);
}
helper.addAttachment(fileName, file);
mailSender.send(message);
}
}邮件发送实现代码
- 邮件发送测试代码(需要自己替换邮箱)
package com.wisdombud.wisdomhr.test.srv; import java.io.FileNotFoundException; import javax.mail.MessagingException; import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired; import com.wisdombud.wisdomhr.common.srv.MailSenderSrv;
import com.wisdombud.wisdomhr.test.base.AbstractTransactionContextTest; public class MailSrvTest extends AbstractTransactionContextTest {
@Autowired
private MailSenderSrv srv; @Test
public void testTextMail() {
String from = "test@163.com";
String to = "test@163.com";
String subject = "测试主题";
String text = "测试内容";
this.srv.sendEmail(to, from, subject, text);
} @Test
public void testHtmlMail() {
String from = "test@163.com";
String to = "test@163.com";
String subject = "测试主题";
String text = "<html><a href=\"www.baidu.com\">百度</a></html>";
try {
this.srv.sendHtmlEmail(to, from, subject, text);
} catch (MessagingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} @Test
public void testHtmlMailWithAttach() {
String from = "test@163.com";
String to = "test@163.com";
String subject = "测试主题";
String text = "<html><a href=\"www.baidu.com\">百度</a></html>";
String filePath = "d://1.sql";
try {
this.srv.sendHtmlEmail(to, from, subject, text, filePath);
} catch (MessagingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} @Test
public void testHtmlMailWithAttachAndName() {
String from = "test@163.com";
String to = "test@163.com";
String subject = "测试主题";
String text = "<html><a href=\"www.baidu.com\">百度</a></html>";
String filePath = "d://1.sql";
String fileName = "haha.sql";
try {
this.srv.sendHtmlEmail(to, from, subject, text, filePath, fileName);
} catch (MessagingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} }邮件发送测试代码
java spring 邮件发送的更多相关文章
- Spring 邮件发送
前言:以前都是直接用Java自带的邮件工具发送邮件,现在Spring帮我们做了封装,提供了更好用更简单的发送邮件工具JavaMailSender 关于邮件服务器的设置就不在这里说了,直接去QQ邮箱 ...
- 用java实现邮件发送验证码
java实现邮件发送验证码 建议不要用qq邮箱,我使用qq邮箱直接一直给我报530错误,我一直认为我代码写的有错误或者POP3/SMTP服务没弄好.所以建议注册个别的邮箱,我就申请了个网易163邮箱瞬 ...
- java mail邮件发送(带附件) 支持SSL
java mail邮件发送(带附件)有三个类 MailSenderInfo.java package mail; import java.util.Properties; import java.ut ...
- Spring邮件发送1
注意:邮件发送code中,邮件服务器的申请和配置是比较主要的一个环节,博主这里用的是QQ的邮件服务器.有需要的可以谷歌.百度查下如何开通. 今天看了下Spring的官方文档的邮件发送这一章节.在这里记 ...
- Java实现邮件发送
概述 Spring Boot下面整合了邮件服务器,使用Spring Boot能够轻松实现邮件发送:整理下最近使用Spring Boot发送邮件和注意事项: Maven包依赖 <depende ...
- 【Java EE 学习 21 下】【使用java实现邮件发送、邮件验证】
一.邮件发送 1.邮件发送使用SMTP协议或者IMAP协议,这里使用SMTP协议演示. SMTP协议使用的端口号:25 rfc821详细记载了该协议的相关信息 (1)使用telnet发送邮件(使用12 ...
- JAVA实现邮件发送功能(账号注册验证码、账号激活等)
第一步,导入JAR包,JAR包下载地址[http://pan.baidu.com/s/1kVRvGyF] 如果是Maven,请直接在Pom文件中加入 <dependency> <gr ...
- spring邮件发送
1,Emaill类: package com.learn.jsp.pojo; /** * 邮件基本信息 * @author kevin * */public class Email { private ...
- Java Mail 邮件发送简单封装
上一篇文章我们用写了一个Java Mail 的Demo,相信你已经可以用那个例子来发送邮件了.但是Demo 有很多的问题. 首先每次发送需要配置的东西很多,包括发件人的邮箱和密码.smtp服务器和SM ...
随机推荐
- ubuntu 16.04 + N驱动安装 +CUDA+Qt5 + opencv
Nvidia driver installation(after download XX.run installation file) 1. ctrl+Alt+F1 //go to virtual ...
- iOS之防止用户重复点击Button(按钮)问题
在项目中,我们往往会遇到这样的问题:因为网络较慢的原因,用户会不耐烦的一直去点击按钮,这样导致的结果时:相关代码一遍一遍的被重复执行,如果按钮的事件是网络请求的话,这样又导致一种网络请求的循环.所以我 ...
- C# Current thread must be set to single thread apartment (STA) mode before OLE calls can be made
将箭头指向部分替换为编译器报错的内容即可. 参考文章:https://www.experts-exchange.com/questions/28238490/C-help-needed-Current ...
- [资料分享]2016 黑马 Java 19期视频+Hadoop大数据实战视频
下载链接: 链接:http://pan.baidu.com/s/1bToXK6 密码:7k43 解压密码: www.lthack.com 或者 2cifang.com 或者 2cifang.com_2 ...
- POJ3461 KMP 模板题
最近忙着考研复习,所以刷题少了.. 数据结构昨天重新学习了一下KMP算法,今天自己试着写了写,问题还不少,不过KMP算法总归是理解了,以前看v_JULY_v的博客,一头雾水,现在终于懂了他为什么要在算 ...
- BZOJ1527 : [POI2005]Pun-point
求出重心,然后把所有点关于重心极角排序,极角相同的按到重心距离从大到小排序. 按极角序依次扫描,得到相邻两个向量的夹角以及长度之比,看成字符串. 若两个字符串循环同构,则两个点集相似,KMP判断即可. ...
- BZOJ4597: [Shoi2016]随机序列
Description 你的面前有N个数排成一行.分别为A1, A2, … , An.你打算在每相邻的两个 Ai和 Ai+1 间都插入一个加号或者 减号或者乘号.那么一共有 3^(n-1) 种可能的表 ...
- javaweb学习记录(1)
Java基础学习笔录 1.运行java程序,出现bad version number in.class file 编译器()的版本号高于运行环境(jre)的版本号,可以降低编译器版本号,也可以通过提升 ...
- 安卓(android)之实现断点下载功能
一.建立实体类 1.文件实体类 package com.example.zjw.myapplication.dao; import java.io.Serializable; /** * 预下载文件实 ...
- 【转】安全传输协议SSL和TLS及WTLS的原理
一.首先要澄清一下名字的混淆 1.SSL(Secure Socket Layer)是Netscape公司设计的主要用于WEB的安全传输协议.这种协议在WEB上获得了广泛的应用. 2.IETF将SSL作 ...