700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 了解JavaMail能够使用Spring Mail API发送电子邮件

了解JavaMail能够使用Spring Mail API发送电子邮件

时间:2022-07-15 19:17:13

相关推荐

了解JavaMail能够使用Spring Mail API发送电子邮件

标题

简介javaAPI写java代码 Tomcat来运行或者先编写个Test测试类 测试MailService MailServiceImplUserService UserServerImplpojoItripUserMapper ItripUserMapper.xmlapplicationContext.xmlapplicationContext-mail.xmldatabase.properties编写Controller类 运行tomcat Postman来测试

简介

javaAPI

可参考

准备阶段 登录扣扣邮箱开放服务 然后下载个Foxmail很方便需要用里面的东西

**下面只需要对应maven依赖 这个测试类就可以运行 但是这样不适应 **

<dependency><groupId>javax.mail</groupId><artifactId>mail</artifactId><version>1.4.7</version></dependency>

import org.springframework.mail.javamail.MimeMailMessage;import javax.mail.Session;import javax.mail.Transport;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeMessage;import java.util.Date;import java.util.Properties;/*** @author :lxd* creat :/8/11*/public class MaillDuLi {//todo 这里运行 邮箱可以收到 public static String account = "918458@";public static String password = "nmlzinmjw";public static String receiveMailAccount = "918458@";//接收人账号public static void main(String[] args) throws Exception{Properties props = new Properties();//参数配置props.setProperty("mail.transport.protocol","smtp");//使用的协议props.setProperty("mail.smtp.host","");//发件人邮箱的 SMTP服务props.setProperty("mail.smtp.auth","true");//需要请求认证//获取session对象Session session = Session.getDefaultInstance(props);//封装message对象MimeMessage message = createMimeMessage(session,account,receiveMailAccount);//使用Transport发送邮件Transport transport =session.getTransport();transport.connect(account,password);transport.sendMessage(message,message.getAllRecipients());//关闭连接transport.close();}private static MimeMessage createMimeMessage(Session session, String sendMail, String receiveMail)throws Exception {//创建一封邮件MimeMessage message = new MimeMessage(session);// From 发件人message.setFrom(new InternetAddress(sendMail,"艾露西","UTF-8"));//TO 收件人message.setRecipient(MimeMessage.RecipientType.TO,new InternetAddress(receiveMail,"xx用户","UTF-8"));//Subject 邮件主题message.setSubject("邮件测试","UTF-8");//邮件正文message.setContent("用户你好","text/html;charset=UTF-8");//设置发送时间message.setSentDate(new Date());//保存设置message.saveChanges();return message;}}

写java代码 Tomcat来运行或者先编写个Test测试类 测试

MailService MailServiceImpl

package cn.itrip.auth.service.mail;public interface MailService {public void sendActivationMail(String mailTo,String activationCode)throws Exception;}package cn.itrip.auth.service.mail;import cn.mon.RedisAPI;import org.springframework.mail.MailSender;import org.springframework.mail.SimpleMailMessage;import org.springframework.stereotype.Service;import javax.annotation.Resource;@Service("mailService")public class MailServiceImpl implements MailService {@Resourceprivate MailSender mailSender;@Resourceprivate SimpleMailMessage mailMessage;// @Resource// private RedisAPI redisAPI;@Overridepublic void sendActivationMail(String mailTo, String activationCode) {mailMessage.setTo(mailTo);mailMessage.setText("您的激活码是:" + activationCode);mailSender.send(mailMessage);System.out.println("验证码已发送!");}//todo 下面是不需要的代码/*** 发送注册激活邮件*/// public void sendActivationMail2(String mailTo, String activationCode) {// mailMessage.setTo(mailTo);// mailMessage.setText("注册邮箱:"+mailTo +" 激活码:"+activationCode);// mailSender.send(mailMessage);// this.saveActivationInfo("activation:"+mailTo, activationCode);// }//// /**//* 保存激活信息//*//* @param key//* @param value//*/// private void saveActivationInfo(String key, String value) {// redisAPI.set(key, 30*60, value);// }}

UserService UserServerImpl

package cn.itrip.auth.service.user;import cn.itrip.beans.pojo.ItripUser;public interface UserService {public ItripUser checkLogin(String userCode, String password)throws Exception;// 邮箱public void itripCreateUser(ItripUser itripUser)throws Exception;//用来激活public boolean activate(String mail,String code)throws Exception;public ItripUser findUserByUserCode(String userCode)throws Exception;public Integer updateItripUser(ItripUser itripUser)throws Exception;}package cn.itrip.auth.service.user;import cn.itrip.auth.exception.DataException;import cn.itrip.auth.exception.LoginException;import cn.itrip.auth.service.mail.MailService;import cn.itrip.beans.pojo.ItripUser;import cn.itrip.dao.user.ItripUserMapper;import cn.mon.EmptyUtils;import cn.mon.MD5;import cn.mon.RedisAPI;import org.springframework.mail.MailSender;import org.springframework.mail.SimpleMailMessage;import org.springframework.stereotype.Service;import javax.annotation.Resource;import java.util.Date;import java.util.HashMap;import java.util.List;import java.util.Map;@Service("userService")public class UserServerImpl implements UserService{@Resourceprivate ItripUserMapper itripUserMapper;@Resourceprivate MailService mailService;@Resourceprivate RedisAPI redisAPI;public ItripUser checkLogin(String userCode, String password) throws Exception {Map params = new HashMap();params.put("userCode",userCode);params.put("userPassword", MD5.getMd5(password,32));// params.put("userPassword", password);List<ItripUser> result = null;try {result = itripUserMapper.getItripUserListByMap(params);} catch (Exception e) {e.printStackTrace();throw new DataException("数据库异常",e);}if (EmptyUtils.isEmpty(result)){return null;}else {//对用户是否激活判断ItripUser user = result.get(0);if (user.getActivated()==0){throw new LoginException("账户未激活");}return user;}}@Overridepublic void itripCreateUser(ItripUser user) throws Exception {//添加用户信息itripUserMapper.insertItripUser(user);//生成激活码String activationCode = MD5.getMd5(new Date().toString(), 6);//发送邮件mailService.sendActivationMail(user.getUserCode(),activationCode);//激活码存入redisredisAPI.set("activation:"+user.getUserCode(),30*60,activationCode);}@Overridepublic boolean activate(String mail, String code) throws Exception {//验证激活码String value = redisAPI.get("activation:"+mail);if (value.equals(code)) {Map<String ,Object> params = new HashMap<>();params.put("userCode",mail);List<ItripUser> users = itripUserMapper.getItripUserListByMap(params);if (users.size()>0) {ItripUser user = users.get(0);//更新用户user.setActivated(1);user.setUserType(0);//自注册用户user.setFlatID(user.getId());itripUserMapper.updateItripUser(user);return true;}}else {return false;}return false;}@Overridepublic ItripUser findUserByUserCode(String userCode) throws Exception {Map<String,Object> params = new HashMap<>();params.put("userCode",userCode);List<ItripUser> users = itripUserMapper.getItripUserListByMap(params);if (users.size()>0) {return users.get(0);}return null;}@Overridepublic Integer updateItripUser(ItripUser itripUser) throws Exception {return itripUserMapper.updateItripUser(itripUser);}}

pojo

package cn.itrip.beans.pojo;import java.io.Serializable;import java.util.Date;public class ItripUser implements Serializable {private Long id;private String userCode;private String userPassword;private Integer userType;private Long flatID;private String userName;private String weChat;private String QQ;private String weibo;private String baidu;private int activated;private Date creationDate;private Long createdBy;private Date modifyDate;private Long modifiedBy;public void setId (Long id){this.id=id;}public Long getId(){return this.id;}public void setUserCode (String userCode){this.userCode=userCode;}public String getUserCode(){return this.userCode;}public void setUserPassword (String userPassword){this.userPassword=userPassword;}public String getUserPassword(){return this.userPassword;}public void setUserType (Integer userType){this.userType=userType;}public Integer getUserType(){return this.userType;}public void setFlatID (Long flatID){this.flatID=flatID;}public Long getFlatID(){return this.flatID;}public void setUserName (String userName){this.userName=userName;}public String getUserName(){return this.userName;}public void setWeChat (String weChat){this.weChat=weChat;}public String getWeChat(){return this.weChat;}public void setQQ (String QQ){this.QQ=QQ;}public String getQQ(){return this.QQ;}public void setWeibo (String weibo){this.weibo=weibo;}public String getWeibo(){return this.weibo;}public void setBaidu (String baidu){this.baidu=baidu;}public String getBaidu(){return this.baidu;}public int getActivated() {return activated;}public void setActivated(int activated) {this.activated = activated;}public void setCreationDate (Date creationDate){this.creationDate=creationDate;}public Date getCreationDate(){return this.creationDate;}public void setCreatedBy (Long createdBy){this.createdBy=createdBy;}public Long getCreatedBy(){return this.createdBy;}public void setModifyDate (Date modifyDate){this.modifyDate=modifyDate;}public Date getModifyDate(){return this.modifyDate;}public void setModifiedBy (Long modifiedBy){this.modifiedBy=modifiedBy;}public Long getModifiedBy(){return this.modifiedBy;}}

ItripUserMapper ItripUserMapper.xml

package cn.itrip.dao.user;import cn.itrip.beans.pojo.ItripUser;import org.apache.ibatis.annotations.Param;import java.util.List;import java.util.Map;public interface ItripUserMapper {public ItripUser getItripUserById(@Param(value = "id") Long id)throws Exception;public List<ItripUser>getItripUserListByMap(Map<String, Object> param)throws Exception;public Integer getItripUserCountByMap(Map<String, Object> param)throws Exception;public Integer insertItripUser(ItripUser itripUser)throws Exception;public Integer updateItripUser(ItripUser itripUser)throws Exception;public Integer deleteItripUserById(@Param(value = "id") Long id)throws Exception;}<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapperPUBLIC "-////DTD Mapper 3.0//EN""/dtd/mybatis-3-mapper.dtd"><mapper namespace="cn.itrip.dao.user.ItripUserMapper"><select id="getItripUserById" resultType="cn.itrip.beans.pojo.ItripUser" >selectid as id,userCode as userCode,userPassword as userPassword,userType as userType,flatID as flatID,userName as userName,weChat as weChat,QQ as QQ,weibo as weibo,baidu as baidu,activated as activated,creationDate as creationDate,createdBy as createdBy,modifyDate as modifyDate,modifiedBy as modifiedByfrom itrip_user<trim prefix="where" prefixOverrides="and | or"><if test="id != null">and id=#{id}</if></trim></select><select id="getItripUserListByMap" resultType="cn.itrip.beans.pojo.ItripUser" parameterType="java.util.Map">selectid as id,userCode as userCode,userPassword as userPassword,userType as userType,flatID as flatID,userName as userName,weChat as weChat,QQ as QQ,weibo as weibo,baidu as baidu,activated as activated,creationDate as creationDate,createdBy as createdBy,modifyDate as modifyDate,modifiedBy as modifiedByfrom itrip_user<trim prefix="where" prefixOverrides="and | or"><if test="id != null and id!=''">and id=#{id}</if><if test="userCode != null and userCode!=''">and userCode=#{userCode}</if><if test="userPassword != null and userPassword!=''">and userPassword=#{userPassword}</if><if test="userType != null and userType!=''">and userType=#{userType}</if><if test="flatID != null and flatID!=''">and flatID=#{flatID}</if><if test="userName != null and userName!=''">and userName=#{userName}</if><if test="weChat != null and weChat!=''">and weChat=#{weChat}</if><if test="QQ != null and QQ!=''">and QQ=#{QQ}</if><if test="weibo != null and weibo!=''">and weibo=#{weibo}</if><if test="baidu != null and baidu!=''">and baidu=#{baidu}</if><if test="activated != null and activated!=''">and activated=#{activated}</if><if test="creationDate != null and creationDate!=''">and creationDate=#{creationDate}</if><if test="createdBy != null and createdBy!=''">and createdBy=#{createdBy}</if><if test="modifyDate != null and modifyDate!=''">and modifyDate=#{modifyDate}</if></trim>order by creationDate desc<if test="beginPos != null and beginPos!='' and pageSize != null and pageSize !='' ">limit #{beginPos},#{pageSize}</if></select><select id="getItripUserCountByMap" resultType="Integer" parameterType="java.util.Map">select count(*) from itrip_user<trim prefix="where" prefixOverrides="and | or"><if test="id != null and id!=''">and id=#{id}</if><if test="userCode != null and userCode!=''">and userCode=#{userCode}</if><if test="userPassword != null and userPassword!=''">and userPassword=#{userPassword}</if><if test="userType != null and userType!=''">and userType=#{userType}</if><if test="flatID != null and flatID!=''">and flatID=#{flatID}</if><if test="userName != null and userName!=''">and userName=#{userName}</if><if test="weChat != null and weChat!=''">and weChat=#{weChat}</if><if test="QQ != null and QQ!=''">and QQ=#{QQ}</if><if test="weibo != null and weibo!=''">and weibo=#{weibo}</if><if test="baidu != null and baidu!=''">and baidu=#{baidu}</if><if test="activated != null and activated!=''">and activated=#{activated}</if><if test="creationDate != null and creationDate!=''">and creationDate=#{creationDate}</if><if test="createdBy != null and createdBy!=''">and createdBy=#{createdBy}</if><if test="modifyDate != null and modifyDate!=''">and modifyDate=#{modifyDate}</if><if test="modifiedBy != null and modifiedBy!=''">and modifiedBy=#{modifiedBy}</if></trim></select><insert id="insertItripUser" parameterType="cn.itrip.beans.pojo.ItripUser">insert into itrip_user(userCode,userPassword,userType,flatID,userName,weChat,QQ,weibo,baidu,activated,creationDate,createdBy,modifyDate,modifiedBy)values(#{userCode},#{userPassword},#{userType},#{flatID},#{userName},#{weChat},#{QQ},#{weibo},#{baidu},#{activated},#{creationDate},#{createdBy},#{modifyDate},#{modifiedBy})</insert><update id="updateItripUser" parameterType="cn.itrip.beans.pojo.ItripUser">update itrip_user<trim prefix="set" suffixOverrides="," suffix="where id=#{id}"><if test="id != null and id!=''">id=#{id},</if><if test="userCode != null and userCode!=''">userCode=#{userCode},</if><if test="userPassword != null and userPassword!=''">userPassword=#{userPassword},</if><if test="userType != null and userType!=''">userType=#{userType},</if><if test="flatID != null and flatID!=''">flatID=#{flatID},</if><if test="userName != null and userName!=''">userName=#{userName},</if><if test="weChat != null and weChat!=''">weChat=#{weChat},</if><if test="QQ != null and QQ!=''">QQ=#{QQ},</if><if test="weibo != null and weibo!=''">weibo=#{weibo},</if><if test="baidu != null and baidu!=''">baidu=#{baidu},</if><if test="activated != null and activated!=''">activated=#{activated},</if><if test="creationDate != null and creationDate!=''">creationDate=#{creationDate},</if><if test="createdBy != null and createdBy!=''">createdBy=#{createdBy},</if><if test="modifyDate != null and modifyDate!=''">modifyDate=#{modifyDate},</if><if test="modifiedBy != null and modifiedBy!=''">modifiedBy=#{modifiedBy}</if></trim></update><delete id="deleteItripUserById" parameterType="Long">delete from itrip_user where id = #{id}</delete></mapper>

applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xmlns:aop="/schema/aop"xmlns:p="/schema/p"xmlns:tx="/schema/tx"xmlns:context="/schema/context"xmlns:mvc="/schema/mvc"xsi:schemaLocation="/schema/beans /schema/beans/spring-beans-2.5.xsd/schema/aop /schema/aop/spring-aop-2.5.xsd/schema/tx /schema/tx/spring-tx-2.5.xsd/schema/context/schema/context/spring-context.xsd /schema/mvc /schema/mvc/spring-mvc.xsd"><!--邮件的相关配置--><import resource="applicationContext-mail.xml"/><context:component-scan base-package="cn.itrip.auth.service"/><context:annotation-config /><context:property-placeholder location="classpath:database.properties,classpath:sms.properties"/><!--<bean name="systemConfig" class="cn.mon.SystemConfig">--><!--<property name="smsAccountSid" value="${sms.accountSid}" />--><!--<property name="smsAuthToken" value="${sms.authToken}" />--><!--<property name="smsAppID" value="${sms.appID}" />--><!--<property name="smsServerIP" value="${sms.serverIP}" />--><!--<property name="smsServerPort" value="${sms.serverPort}" />--><!--</bean>--><!-- JNDI获取数据源(使用dbcp连接池) --><bean id="dataSource" class="mons.dbcp.BasicDataSource" destroy-method="close" scope="singleton"><property name="driverClassName" value="${mysql.driver}"/><property name="url" value="${mysql.url}"/><property name="username" value="${mysql.user}"/><property name="password" value="${mysql.password}"/><property name="initialSize" value="${mysql.initialSize}"/><property name="maxActive" value="${mysql.maxActive}"/><property name="maxIdle" value="${mysql.maxIdle}"/><property name="minIdle" value="${mysql.minIdle}"/><property name="maxWait" value="${mysql.maxWait}"/><property name="removeAbandoned" value="${mysql.removeAbandoned}"/><property name="removeAbandonedTimeout" value="${mysql.removeAbandonedTimeout}"/><property name= "testWhileIdle" value="true"/><property name= "timeBetweenEvictionRunsMillis" value="60000"/><property name= "testOnBorrow" value="false"/><property name= "testOnReturn" value="false"/><property name= "validationQuery" value="select 1"/><property name= "numTestsPerEvictionRun" value="${mysql.maxActive}"/></bean><!-- 事务管理 --><bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="dataSource"/></bean><!-- 配置mybatis SqlSessionFactoryBean --><bean id="sqlSessionFactoryBean" class="org.mybatis.spring.SqlSessionFactoryBean"><property name="dataSource" ref="dataSource"/><property name="configLocation" value="classpath:mybatis-config.xml"/></bean><aop:aspectj-autoproxy/><aop:config proxy-target-class="true"><aop:pointcut expression="execution(* *cn.itrip.auth.service..*(..))" id="transService"/><aop:advisor advice-ref="myAdvice" pointcut-ref="transService"/></aop:config><tx:advice id="myAdvice" transaction-manager="txManager"><tx:attributes><tx:method name="itriptx*" propagation="REQUIRED" rollback-for="Exception" /><tx:method name="*" /></tx:attributes></tx:advice><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><property name="basePackage" value="cn.itrip.dao"/></bean><!--todo redis 配置 开始--><bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig"><property name="maxTotal" value="${redis.maxActive}" /><property name="maxIdle" value="${redis.maxIdle}" /><!--版本问题不用注释的词了--><!--<property name="maxWait" value="${redis.maxWait}" />--><!--<property name="maxActive" value="${redis.maxActive}" />--><property name="maxWaitMillis" value="${redis.maxWait}" /><property name="testOnBorrow" value="true" /></bean><!-- Config poolConfig, String host, int port, int timeout, String password, int database--><bean id="jedisPool" class="redis.clients.jedis.JedisPool" destroy-method="destroy" ><constructor-arg ref="jedisPoolConfig"/><constructor-arg value="${redis.host}"/><constructor-arg value="${redis.port}"/><constructor-arg value="${redis.timeout}"/><!--<constructor-arg value="${redis.pass}"/>--><constructor-arg value="${redis.default.db}"/></bean><bean id="redisAPI" class="cn.mon.RedisAPI"><property name="jedisPool" ref="jedisPool"/></bean><bean id="validationToken" class="cn.mon.ValidationToken"><property name="redisAPI" ref="redisAPI" /></bean></beans>

applicationContext-mail.xml

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance" xmlns:aop="/schema/aop"xmlns:p="/schema/p" xmlns:tx="/schema/tx"xmlns:context="/schema/context"xmlns:mvc="/schema/mvc"xsi:schemaLocation="/schema/beans /schema/beans/spring-beans-2.5.xsd/schema/aop /schema/aop/spring-aop-2.5.xsd/schema/tx /schema/tx/spring-tx-2.5.xsd/schema/context/schema/context/spring-context.xsd /schema/mvc /schema/mvc/spring-mvc.xsd"><bean id="mailMessage" class="org.springframework.mail.SimpleMailMessage"><property name="subject" value="[爱旅行]请激活您的账号"/><property name="from" value="9184630@"/></bean><bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"><property name="host" value=""/><property name="port" value="25"/><property name="username" value="918458630@"/><property name="password" value="nmlzinwdmcbbhb"/><property name="defaultEncoding" value="utf-8"/><!--<property name="javaMailProperties"><props><prop key="mail.smtp.auth">true</prop><prop key="mail.smtp.socketFactory.class">.ssl.SSLSocketFactory</prop><prop key="mail.smtp.socketFactory.port">465</prop></props></property>--></bean></beans>

database.properties

mysql.driver=com.mysql.jdbc.Drivermysql.url=jdbc:mysql://127.0.0.1:3306/itripdb?useUnicode=true&characterEncoding=utf-8#mysql.url=jdbc:mysql://localhost:3306/itripdb?useUnicode=true&characterEncoding=UTF-8# mysql.user=itripmysql.user=root# mysql.password=itripqaz!@#$QAZmysql.password=19955mysql.minIdle=45mysql.maxIdle=50mysql.initialSize=5mysql.maxActive=100mysql.maxWait=100mysql.removeAbandonedTimeout=180mysql.removeAbandoned=true#redisredis.host=127.0.0.1redis.port=6379# redis.pass=redis@WSX!QAZ1234#redis.pass=rootredis.default.db=0redis.timeout=3000redis.maxActive=300redis.maxIdle=100redis.maxWait=1000

import cn.itrip.auth.service.user.UserService;import cn.itrip.beans.pojo.ItripUser;import org.junit.Assert;import org.junit.Test;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import org.junit.Assert.*;import javax.mail.Session;import javax.mail.Transport;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeMessage;import java.util.Date;import java.util.Properties;public class TestMail {//要想重新测试记得删除数据库里面对应数据//44(id)918458630@(UserCode)44(flatID)test(UserName)1@Testpublic void testMail() throws Exception {ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");UserService userService = (UserService) ctx.getBean("userService");ItripUser user = new ItripUser();user.setUserCode("918458630@");user.setUserName("test");userService.itripCreateUser(user);}//上面得到验证码 填到下面 在运行便可激活@Testpublic void activeMail() throws Exception {ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");UserService userService = (UserService) ctx.getBean("userService");Assert.assertTrue(userService.activate("918458630@", "902890"));}}

编写Controller类 运行tomcat Postman来测试

UserMailController

package cn.itrip.auth.controller;import cn.itrip.auth.service.user.UserService;import cn.itrip.beans.dto.Dto;import cn.itrip.beans.pojo.ItripUser;import cn.itrip.beans.vo.userinfo.ItripUserVO;import cn.mon.DtoUtil;import cn.mon.ErrorCode;import cn.mon.MD5;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.*;import javax.annotation.Resource;import java.util.regex.Pattern;@Controller@RequestMapping(value = "/api")public class UserMailController {@Resourceprivate UserService userService;//todo 不知道为啥postman测试 就是不知道参数不对还是怎们回事//好吧 我忘记{}大括号了//http://localhost:8080/auth/api/doregister// 下面选择 raw//{"userCode":"918458630@",//"userName":"test",//"userPassword":"123456"}/*** 邮箱注册** @param vo* @return*/@RequestMapping(value = "/doregister", method = RequestMethod.POST, produces = "application/json")@ResponseBodypublic Dto doRegister(@RequestBody ItripUserVO vo) throws Exception {//邮箱验证if (!this.validEmail(vo.getUserCode())) {return DtoUtil.returnFail("getUserCod请使用正确的邮箱", ErrorCode.AUTH_ILLEGAL_USERCODE);}ItripUser user = new ItripUser();user.setUserCode(vo.getUserCode());user.setUserPassword(vo.getUserPassword());user.setUserName(vo.getUserName());//判断该用户是否存在if (null != userService.findUserByUserCode(vo.getUserCode())) {return DtoUtil.returnFail("用户已经存在", ErrorCode.AUTH_USER_ALREADY_EXISTS);} else {//调用业务层方法user.setUserPassword(MD5.getMd5(vo.getUserPassword(), 32));userService.itripxCreateUser(user);return DtoUtil.returnSuccess();}}/*** 验证激活码,并且激活用户* @param user* @param code* @return* @throws Exception*/// http://localhost:8080/auth/api/activate?user=918458630@&code=5c459a//这个是Params传参@RequestMapping(value = "/activate", method = RequestMethod.POST, produces = "application/json")@ResponseBodypublic Dto activate(@RequestParam String user, @RequestParam String code) throws Exception{try {if (userService.activate(user,code)) {return DtoUtil.returnSuccess("激活成功!");}else{return DtoUtil.returnSuccess("激活失败!");}} catch (Exception e) {e.printStackTrace();return DtoUtil.returnFail("激活失败!",ErrorCode.AUTH_UNKNOWN);}}/*** 合法E-mail地址:* 1. 必须包含一个并且只有一个符号“@”* 2. 第一个字符不得是“@”或者“.”* 3. 不允许出现“@.”或者.@* 4. 结尾不得是字符“@”或者“.”* 5. 允许“@”前的字符中出现“+”* 6. 不允许“+”在最前面,或者“+@”*/private boolean validEmail(String email) {String regex = "^\\s*\\w+(?:\\.{0,1}[\\w-]+)*@[a-zA-Z0-9]+(?:[-.][a-zA-Z0-9]+)*\\.[a-zA-Z]+\\s*$";return pile(regex).matcher(email).find();}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。