Spring MVC+javamail实现邮件发送
Spring MVC+javamail实现邮件发送
开启邮箱的POP3/SMTP服务(这里以QQ邮箱举例)
设置 --> 账户 -- > 开启POP3/STMP服务,然后得到一个授权码。



引入pom依赖(jar包直达)
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.7</version>
</dependency>
配置xml文件
mail.properties文件
#服务器主机名 smtp.xx.com
mail.smtp.host=smtp.qq.com
mail.smtp.username=你的邮箱
#客户端授权码
mail.smtp.password=你的授权码
#编码字符
mail.smtp.defaultEncoding=utf-8
#是否进行用户名密码校验
mail.smtp.auth=true
#设置超时时间
mail.smtp.timeout=20000
applicationContext.xml文件
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="${mail.smtp.host}"/>
<property name="username" value="${mail.smtp.username}"/>
<property name="password" value="${mail.smtp.password}"/>
<property name="defaultEncoding" value="${mail.smtp.defaultEncoding}"/>
<property name="javaMailProperties">
<props>
<prop key="mail.smtp.auth">${mail.smtp.auth}</prop>
<prop key="mail.smtp.ssl.timeout">${mail.smtp.timeout}</prop>
</props>
</property>
</bean>
工具类
public class MailSender {
/**
* JavaMailSenderImpl支持MimeMessages和SimpleMailMessages。
* MimeMessages为复杂邮件模板,支持文本、附件、html、图片等。
* SimpleMailMessages实现了MimeMessageHelper,为普通邮件模板,支持文本
*/
private JavaMailSenderImpl mailSender;
@Autowired
public void setMailSender(JavaMailSenderImpl mailSender) {
this.mailSender = mailSender;
}
/**
* 发件人邮箱地址
*/
@Value("${mail.smtp.username}")
private String emailFrom;
/**
* 单发
*
* @param recipient 收件人
* @param content 内容
*/
@Override
public boolean sendEmail(String recipient, String content){
MimeMessage mimeMessage = mailSender.createMimeMessage();
try {
MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage, true, "UTF-8");
/** 发件人的邮箱地址 */
messageHelper.setFrom(emailFrom);
/** 收件人邮箱地址 */
messageHelper.setTo(recipient);
/** 主题 */
messageHelper.setSubject("【嘉净】您的邮箱验证码");
/** 内容 */
messageHelper.setText("\t亲爱的用户,您好:\n\t 本次操作的验证码是:"+content+",\n\t 如非本人操作请忽略。详情:http://www.baidu.com", true);//true代表支持html格式
mailSender.send(mimeMessage);
return true;
} catch (MessagingException e) {
e.printStackTrace();
return false;
}
}
}
结果展示

Spring MVC+javamail实现邮件发送的更多相关文章
- Springboot+Javamail实现邮件发送
Springboot+Javamail实现邮件发送 使用的是spring-context-support-5.2.6.RELEASE.jar里的javamail javamail 官方文档:javam ...
- Spring mvc之 发邮件(qq.163...)
一. 邮件开发涉及到的一些基本概念 1.1.邮件服务器和电子邮箱 要在Internet上提供电子邮件功能,必须有专门的电子邮件服务器.例如现在Internet很多提供邮件服务的厂商:sina.sohu ...
- Spring Boot实战系列-----------邮件发送
快速导航 添加Maven依赖 配置文件增加邮箱相关配置 Service.Test项目代码构建 五种邮件发送类型讲解 文本邮件 html邮件 附件邮件 html内嵌图片邮件 模板邮件 问题汇总 添加ma ...
- Spring Boot Mail 实现邮件发送
此 demo 主要演示了 Spring Boot 如何整合邮件功能,包括发送简单文本邮件. 邮件服务在开发中非常常见,比如用邮件注册账号.邮件作为找回密码的途径.用于订阅内容定期邮件推送等等,下面就简 ...
- Springboot使用javaMail进行邮件发送
导入相关依赖 <!--邮件发送--> <dependency> <groupId>javax.mail</groupId> <artifactId ...
- 基于javaMail的邮件发送--excel作为附件
基于JavaMail的Java邮件发送 Author xiuhong.chen@hand-china.com Desc 简单邮件发送 Date 2017/12/8 项目中需要根据物料资质的状况实时给用 ...
- Java 基于javaMail的邮件发送(支持附件)
基于JavaMail的Java邮件发送Author xiuhong.chen@hand-china.com Desc 简单邮件发送 Date 2017/12/8 项目中需要根据物料资质的状况实时给用户 ...
- Java 基于JavaMail的邮件发送
http://blog.csdn.net/xietansheng/article/details/51673073 http://blog.csdn.net/xietansheng/article/d ...
- 使用Javamail实现邮件发送功能
目录 相关的包 编写工具类 环境说明 @(使用Javamail实现邮件发送功能) 相关的包 activation.jar javax.mail.jar mail包建议使用高版本写的包,否则可能会发空白 ...
随机推荐
- LAMP——搭建基于Apache、wordpress、nfs、mysql、DNS的系统
一.部署架构 二.部署过程 1.在10.0.0.8和10.0.0.18服务器上安装apache服务 [17:10:06 root@centos8 ~]#yum -y install httpd 安装p ...
- Linux系统下安装NodeJS
下载NodeJS二进制压缩包 去NodeJS官网https://nodejs.org/zh-cn/,下载二进制压缩包,进入下载页面之后你将看到很多下载选项: 源码不包含bin目录,不是可运行的应用程序 ...
- 使用Linux Deploy将闲置的安卓手机改造简易服务器
本文将介绍我在自己闲置的小米4手机安装CentOS系统的过程.手机配置信息:MIUI 9开发板(方便ROOT).Android 6.架构 ARMv7(arm32) 准备工作 1.手机必须ROOT!!! ...
- nohup &的用法、进程查看以及终止
p.p1 { margin: 0 0 2px; font: 16px ".PingFang SC" } p.p2 { margin: 0; font: 12px "Hel ...
- PHP获取文件扩展名的常用方法小结【五种方式】
方法1: function getExt1($filename) { $arr = explode('.',$filename); return array_pop($arr);; } ...
- ESP32-websocket笔记
基于ESP-IDF4.1 #include <stdio.h> #include "esp_wifi.h" #include "esp_system.h&qu ...
- ARTS第一周
开始进行的第一周. 1.Algorithm:每周至少做一个 leetcode 的算法题2.Review:阅读并点评至少一篇英文技术文章3.Tip:学习至少一个技术技巧4.Share:分享一篇有观点和思 ...
- VS2017 常用快捷键
项目相关的快捷键 Ctrl + Shift + B = 生成项目 Ctrl + Alt + L = 显示 Solution Explorer(解决方案资源管理器) Shift + Alt+ C = 添 ...
- adb 记录ADB执行记录
自动化测试需要获得当前的activity,来判断处于的页面是否正确: hierarchy view经常连不上真机,无法获得activity,所以直接用 adb命令来查看当前运行的 activity就可 ...
- win10 IIS web.config加密不能访问:打不开 RSA 密钥容器
C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys 找到密钥文件, 根据时间判断具体是哪一个文件,赋予network service读权限