文档章节

Spring开发发送邮件验证激活

xiejunbo
 xiejunbo
发布于 2015/05/01 15:24
字数 437
阅读 65
收藏 2

 Spring开发发送邮件验证激活:

spring.xml

 <!-- 配置SimpleMailMessage发送文本邮件 -->
    <bean id="mailMessage" class="org.springframework.mail.SimpleMailMessage">
    	<property name="from" value="${mail.from}"/>
    </bean>
    
    <!-- 配置JavamailSenderImpl对象 -->
    <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
    	<property name="defaultEncoding" value="utf-8"/>
		<property name="host" value="${mail.host}"/>
		<property name="username" value="${mail.user}"/>
		<property name="password" value="${mail.pwd}"/>
		<property name="javaMailProperties">  
            <props>  
                <!-- 设置认证开关 -->  
                <prop key="mail.smtp.auth">true</prop>  
                <!-- 启动调试开关 -->  
                <prop key="mail.debug">true</prop>  
            </props>  
        </property>  
    </bean>


EmailController.java

package org.jun.controller.email;

import java.io.File;
import java.util.Date;

import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.io.FileSystemResource;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * 发送邮件
 * 
 * @author xiejunbo
 *
 */

@Controller
@RequestMapping("email")
public class EmailController {  
    
	@Autowired
	private JavaMailSender mailSender;
	@Autowired
	private SimpleMailMessage simpleMsg;
	
	/**
	 * 带附件和链接的邮件
	 * @throws MessagingException 
	 */
	@ResponseBody
	@RequestMapping("sendMime")
	public String sendMime() throws MessagingException{
		
		MimeMessage msg = mailSender.createMimeMessage();
		MimeMessageHelper helper = new MimeMessageHelper(msg,true);
		helper.setFrom("624664181@qq.com");
		helper.setTo("xiejunbo@xx.con");
		helper.setText("您刚刚在xx科技公司注册了账号,注册邮箱:447546225@qq.com,请点击以面链接进行验证<br><a href='http://localhost:8080/parser/email/checkEmail.do?username=xiejunbo&pwd=123456'><h4>验证链接</h4></a><br>"
				+ "<img src='http://xxxxxxxx/group1/M00/00/1C/oYYBAFS133CAIWJJAAOmte_4nRg167.jpg'>", true);
		helper.setSubject("xx科技公司账号激活验证链接");
		helper.setSentDate(new Date());
		FileSystemResource file = new FileSystemResource(new File("C:\\Users\\Administrator\\Desktop\\jun.jpg"));
		helper.addAttachment("jun.jpg", file);
		
		mailSender.send(msg);
		return  "send successfully";
	}

	/**
	 * 纯文本邮件
	 */
	@ResponseBody
	@RequestMapping("sendText")
	public String sendText() {  
		
		simpleMsg.setText("测试spring发送文本邮件");//邮件内容
        //   msg.setBcc("");//密送人,可以是一个数组
       // msg.setCc("");//抄送人,可以是一个数组
		simpleMsg.setSentDate(new Date());//发送时间
		simpleMsg.setSubject("这是发送主题");
		simpleMsg.setTo("4sdfasdf@qq.com");//接收方,可以是一个数组
        mailSender.send(simpleMsg);
        
        return  "send successfully";
    }  
	
	/**
	 * 邮件激活验证
	 * 
	 * @return
	 */
	@ResponseBody
	@RequestMapping("checkEmail")
	public String checkEmail(@RequestParam String username, @RequestParam String pwd){
		if("xiejunbo".equals(username) && "123456".equals(pwd)){
			System.out.println("账号激活成功!");
			return "Verify account successfully!";	
		}
		System.out.println("账号激活失败!请重新激活!");
		return "Verify account fail! Please try again!";
	}
	
	 
}


mail.properties配置:

#mail sender
mail.host=smtp.qq.com
mail.from=aaaaaa@qq.com
mail.user=aaaaaa@qq.com
mail.pwd=xxxxxxxxxxxxxxx


© 著作权归作者所有

共有 人打赏支持
xiejunbo
粉丝 43
博文 149
码字总数 132149
作品 0
广州
后端工程师
私信 提问
Spring Cloud 2.x系列之springboot发送邮件

虽然现在短信验证已经最流行也是最常用的验证方式;但是邮件验证还是必不可少,依然是网站的必备功能之一。什么注册验证,忘记密码或者是给用户发送营销信息都是可以使用邮件发送功能的。最早...

技术小能手
10/22
0
0
如何使用 Spring Boot 开发邮件系统?

本文来自作者在 GitChat 上的精彩分享《使用 Spring Boot 开发邮件系统》 1. 前言 互联网发展到现在,邮件服务已经成为互联网企业中必备功能之一,应用场景非常广泛,比较常见的有:用户注册...

GitChat技术杂谈
09/28
0
0
教你怎样使用Spring Boot开发邮件系统?

前言 互联网发展到现在,邮件服务已经成为互联网企业中必备功能之一,应用场景非常广泛,比较常见的有:用户注册、忘记密码、监控提醒、企业营销等。 大多数互联网企业都会将邮件发送抽取为一...

小刀爱编程
10/09
0
0
使用 Spring Boot 开发邮件系统

使用 Spring Boot 开发邮件系统 作者简介: 纯洁的微笑,一个多年在一线奋斗的程序员,从2016年开始研究 Spring Boot/Cloud ,先后写了很多关于 Spring Boot/Cloud 的文章,后来就成为了各大...

GitChat技术杂谈
09/20
0
0
JeeWeb敏捷开发平台/jeeweb-mybatis

JeeWeb敏捷开发平台(Mybatis) QQ交流群: 570062301(满)、522959928 官方网站: https://www.jeeweb.cn 文档地址: https://doc.jeeweb.cn 项目演示: https://mybatis.jeeweb.cn 简介 JeeW...

JeeWeb敏捷开发平台
2017/07/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

nginx的内容

1、nginx 稳定,由俄国人开发, nginx.org 分支: tengine,由淘宝开发; tengine.taobao.com nginx的功能:http服务, 负载均衡 反向代理 邮件代理 缓存加速 SSL, 功能完善;高并发 可以用来处理...

芬野de博客
28分钟前
1
0
websocket 接口简单测试工具,webcoket实用测试工具

chorme 插件 Simple WebSocket Client 对开发来说够用了,能连互联网,也能连本地的。 之前用jmeter 带复杂了,而且登录不好弄,这个基于浏览器,共享浏览器的登录信息。方便!...

SimonAt
34分钟前
4
0
Ext中 get、getDom、getCmp的区别

getDom方法能够得到文档中的DOM节点,该方法中包含一个参数,该参数可以是DOM节点的id、DOM节点对象或DOM节点对应的Ext元素(Element)等。 (与getElementById是一个效果) •Ext.onReady(funct...

休辞醉倒
41分钟前
1
0
springboot jpa 访问数据库

spring boot(五):spring data jpa的使用 SpringBoot非官方教程 | 第三篇:SpringBoot用JdbcTemplates访问Mysql

颖辉小居
56分钟前
4
0
Quartz + Oracle 分布式Job实现

简述 实现 依赖包 <dependency><groupId>org.quartz-scheduler</groupId><artifactId>quartz</artifactId><version>2.2.3</version><exclusions><exclusion><groupId>com.zax......

呼呼南风
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部