文档章节

Spring开发发送邮件验证激活

xiejunbo
 xiejunbo
发布于 2015/05/01 15:24
字数 437
阅读 64
收藏 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
粉丝 41
博文 149
码字总数 132149
作品 0
广州
后端工程师
私信 提问
Spring Cloud 2.x系列之springboot发送邮件

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

技术小能手
前天
0
0
如何使用 Spring Boot 开发邮件系统?

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

GitChat技术杂谈
09/28
0
0
使用 Spring Boot 开发邮件系统

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

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

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

小刀爱编程
10/09
0
0
JeeWeb敏捷开发平台/jeeweb

JeeWeb敏捷开发平台 QQ交流群: 570062301 官方网站: https://www.jeeweb.cn 官方论坛: http://bbs.jeeweb.cn 项目演示: https://demo.jeeweb.cn 简介 JeeWeb是一款基于SpringMVC+Spring+...

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

没有更多内容

加载失败,请刷新页面

加载更多

大数据教程(6.1)hadoop生态圈介绍及就业前景

1. HADOOP背景介绍 1.1、什么是HADOOP 1.HADOOP是apache旗下的一套开源软件平台 2.HADOOP提供的功能:利用服务器集群,根据用户的自定义业务逻辑,对海量数据进行分布式处理 3.HADOOP的核心组...

em_aaron
54分钟前
1
0
hadoop垃圾回收站

在生产生,hdfs回收站必须是开启的,一般设置为7天。 fs.trash.interval 为垃圾回收站保留时间,如果为0则禁用回收站功能。 fs.trash.checkpoint.interval 回收站检查点时间,一般设置为小于...

hnairdb
昨天
1
0
腾讯与Github的魔幻会面背后的故事…

10月22日,腾讯开源管理办公室有幸邀请到Github新晋CEO Nat Friedman,前来鹅厂参观交流。目前腾讯已经有近70个项目在Github上开源,共获得17w stars,世界排名11位。Github是腾讯开源的主阵...

腾讯开源
昨天
9
0
单例模式

单例模式(Singleton pattern)属于创建型设计模式。 保证一个类仅有一个实例,并提供一个访问它的全局访问点。 通常我们可以让一个全局变量使得一个对象被访问,但它不能防止你实例化多个对...

NinjaFrog
昨天
2
0
TypeScript基础入门之装饰器(三)

转载 TypeScript基础入门之装饰器(三) 继续上篇文章[TypeScript基础入门之装饰器(二)] 访问器装饰器 Accessor Decorator在访问器声明之前声明。 访问器装饰器应用于访问器的属性描述符,可用...

durban
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部