700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 猿创征文|瑞吉外卖——移动端_邮箱验证码登录

猿创征文|瑞吉外卖——移动端_邮箱验证码登录

时间:2023-05-20 11:59:09

相关推荐

猿创征文|瑞吉外卖——移动端_邮箱验证码登录

个人名片:

博主:酒徒ᝰ.

专栏:瑞吉外卖

个人简介沉醉在酒中,借着一股酒劲,去拼搏一个未来。

本篇励志如果决意去做一件事了就不要再问自己和别人值不值得。

本项目基于B站黑马程序员Java项目实战《瑞吉外卖》,轻松掌握springboot + mybatis plus开发核心技术的真java实战项目。

视频链接【黑马程序员Java项目实战《瑞吉外卖》,轻松掌握springboot + mybatis

plus开发核心技术的真java实战项目】 /video/BV13a411q753?

点击观看

目录

一、原因二、邮箱

一、原因

对于个人来说,几乎是申请不到短信的模板签名。这些模板一般是企业所用。

我们只是练习项目,没有必须花费金钱去申请到签名,最好却只有一两次。

最后,也是最重要的一点。白嫖的才是最香的。

自己添加

因为前端代码修改的话很麻烦,所有就直接将验证码发送发送到邮箱了。

在发送验证码操作中进行添加如下代码。

二、邮箱

邮箱的优点

QQ邮箱向用户提供安全、稳定、快速、便捷电子邮件服务的邮箱产品,已为超过1亿的邮箱用户提供免费和增值邮箱服务。

QQ邮件服务以高速电信骨干网为强大后盾,独有独立的境外邮件出口链路,免受境内外网络瓶颈影响,全球传信。

采用高容错性的内部服务器架构,确保任何故障都不影响用户的使用,随时随地稳定登录邮箱,收发邮件通畅无阻。

代码实现

在生成验证码,紧接着执行以下代码,将验证码发送到你的邮箱。需要有两个邮箱才可以哦!

一个邮箱发送,一个邮箱接受。

//QQ邮箱发送验证码try {userService.send_email("接收邮箱", "邮件标题");} catch (Exception e) {throw new RuntimeException(e);}

完整代码如下:

/*** 发送验证码* @param user* @param session* @return*/@PostMapping("/sendCode")public R<String> sendCode(@RequestBody User user, HttpSession session){//获取移动端输入手机号String phone = user.getPhone();//手机号不为空,则发送验证码。if (StringUtils.isNotEmpty(phone)){//生成验证码String code = ValidateCodeUtils.generateValidateCode(4).toString();log.info("code:{}", code);//短信发送验证码 就不写了//QQ邮箱发送验证码try {userService.send_email("接收邮箱", "邮件标题");} catch (Exception e) {throw new RuntimeException(e);}//保存验证码 sessionsession.setAttribute(phone, code);return R.success("验证码发送成功");}return R.error("验证码发送失败");}

在IUserService中建立send_email接口

这里为了更好的阅读,就将业务写入了业务层中,其实,每一个地方都应该这么做。

void send_email(String email, String msg) throws Exception;

在实现类中实现方法

package com.itheima.reggie.service.impl;import com.itheima.reggie.entity.User;import com.itheima.reggie.mapper.UserMapper;import com.itheima.reggie.service.IUserService;import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;import com.itheima.reggie.utils.Email_Util;import org.springframework.stereotype.Service;import javax.mail.*;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeBodyPart;import javax.mail.internet.MimeMessage;import javax.mail.internet.MimeMultipart;import java.util.Date;import java.util.Properties;/*** <p>* 用户信息 服务实现类* </p>** @author 酒徒* @since -09-04*/@Servicepublic class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IUserService {@Overridepublic void send_email(String email, String msg) throws Exception{String to = email;//发送到哪个邮箱,及目标邮箱String subject = "验证码";//邮件标题String content = msg;//邮件内容Properties properties = new Properties();properties.put("mail.smtp.host", "");properties.put("mail.smtp.port", "25");//邮箱端口号properties.put("mail.smtp.auth", "true");Authenticator authenticator = new Email_Util("发送邮箱", "发送邮箱的授权码,这个网上很容易找到教程的");//你的邮箱,与授权码javax.mail.Session sendMailSession = javax.mail.Session.getDefaultInstance(properties, authenticator);MimeMessage mailMessage = new MimeMessage(sendMailSession);mailMessage.setFrom(new InternetAddress("发送邮箱"));//发送邮件的地址/就填你的qq邮箱// Message.RecipientType.TO属性表示接收者的类型为TOmailMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(to));mailMessage.setSubject(subject, "UTF-8");mailMessage.setSentDate(new Date());// MiniMultipart类是一个容器类,包含MimeBodyPart类型的对象Multipart mainPart = new MimeMultipart();// 创建一个包含HTML内容的MimeBodyPartBodyPart html = new MimeBodyPart();html.setContent(content.trim(), "text/html; charset=utf-8");mainPart.addBodyPart(html);mailMessage.setContent(mainPart);Transport.send(mailMessage);}}

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