首页 > 作文

正确的邮箱qq格式怎么写(个人电子邮箱填写方法)

更新时间:2023-04-05 07:22:35 阅读: 评论:0

1、登录注册思路

这是一个使用spring boot做的一个qq邮箱注册和登录的项目。
没写前端页面,使用postman测试。有截图详细。

1.1、思路

注册:通过输入的邮箱发送验证码,检验前端传来的验证码是否和后台生成的一致,若一致,将数据写入数据库,完成注册;

登录:通过输入的邮箱查询密码,然后比较密码是否一致,一致就是登录成功。

1.2、整个项目结构图

2、准备

2.1、开启邮箱pop3/smtp服务

登录qq邮箱后,点击左上方的设置,选择账户,如下图。

然后一直往下滑,看到如下图的pop3/smtp服务,点击开启,应该会让帮定的手机号发个短信,然后会收到一个授权码,一定要好好保存,在appliction.properties配置中会用到。

2.2、创建一个spring boot项目的时候,一直确认,jdk选择8。

下边是pom.xml中<dependencies>标签的全部依赖

         <dependencies>       <dependency>           <groupid>org.springframework.boot</groupid>           <artifactid>spring-boot衣物捐赠-starter</artifactid>       </dependency>       <dependency>           <groupid>org.springframework.boot</groupid>           <artifactid>spring-boot-starter-test</artifactid>           <scope>test</scope>       </dependency>       <!--web-->       <dependency>           <groupid>org.springframework.boot</groupid>           <artifactid>spring-boot-starter-web</artifactid>       </dependency>       <dependency>           <groupid>org.springframework.boot</groupid>           <artifactid>spring-boot-starter-mail</artifactid>       </dependency>       <!--mybatis-->       <dependency>           <groupid>org.mybatis.spring.boot</groupid>           <artifactid>mybatis-spring-boot-starter</artifactid>           <version>1.3.2</version>       </dependency>      长江下游 <!--jdbc-->       <dependency>           <groupid>mysql</groupid>           <artifactid>mysql-connector-java</artifactid>           <version>8.0.19</version>       </dependency>       <dependency>           <groupid>org.springframework.boot</groupid>           <artifactid>spring-boot-starter-jdbc</artifactid>       </dependency></dependencies>

2.3、application.properties配置文件

application.properties配置文件

#邮箱配置#平台地址,这里用的是qq邮箱,使用其他邮箱请更换spring.mail.host = smtp.qq.com#改成自己的邮箱spring.mail.urname = xxxxx@qq.com#发送短信后它给你的授权码 填写到这里spring.mail.password = xxxxxx#这东西不用改spring.mail.properties.mail.smtp.ssl.enable=true##编码格式spring.mail.default-encoding=utf-8#数据库相关配置spring.datasource.driver-class-name=com.mysql.cj.jdbc.driverspring.datasource.url=jdbc:mysql://localhost:3306/email?ussl=true&characterencoding=utf-8&rvertimezone=utcspring.datasource.urname=rootspring.datasource.password=root        #配置mappermybatis.mapper-locations=classpath:mapper/*.xml

2.4、创建数据库

数据库结构如下图

创建一个数据库email

createdatabaemail;

在email数据库创建ur表

create table `ur` (  `id` int(20) not null auto_increment,  `urname` varchar(255) not null,  `password` varchar(255) not null,  `email` varchar(255) not null,  primary key (`id`))engine=innodbauto_increment=6defaultchart=utf8;

3、全部代码类

如最上边的项目结构图。controller包是和前端对接的,mapper包中是接口,pojo是实体类,rvice层是逻辑代码,vo包是前端发送数据暂时保存。

执行流程: 使用postman发送请求,controller中会接受,然后调用rvice中的逻辑代码,rvice会调用的mapper中接口,mapper的对应的xml实现对数据库的各种操作。

3.1、urcontroller.java

package com.lu.youxiang.controller;import com.lu.youxiang.rvice.mailrvice;import com.lu.y美味汉堡ouxiang.vo.urvo;import org.springframework.beans.factory.annotation.autowired;import org.springframework.stereotype.controller;import org.springframework.web.bind.annotation.postmapping;import org.springframework.web.bind.annotation.responbody;import javax.rvlet.http.httpssion;@controllerpublic class urcontroller {    @autowired    private mailrvice mailrvice;    @postmapping("/ndemail")    @responbody    public string ndemail(string email, httpssion httpssion){        mailrvice.ndmimemail(email, httpssion);        return "sucess";    }    @postmapping("/regist")    @responbody    public string regist(urvo urvo, httpssion ssion){        mailrvice.registered(urvo,ssion);        return "sucess";    }    @postmapping("/login")    @responbody    public string login(string email, string password){        mailrvice.loginin(email,password);        return "sucess";    }}

3.2、urmapper.java

package com.lu.youxiang.mapper;import com.lu.youxiang.pojo.ur;import org.apache.ibatis.annotations.mapper;import org.springframework.stereotype.repository;@mapper@repositorypublic interface urmapper {    /**     * 注册,插入数据     * @param ur     */    void inrtur(ur ur);    /**     * 根据邮箱查询     * @param email     * @return     */    ur querybyemail(string email);}

3.3、ur.java

package com.lu.youxiang.pojo;public class ur {    private string urname;    private string password;    private string email;      //get和t方法省略了,自己生成一下}

3.4、mailrvice.java ,重要。

package com.lu.youxiang.rvice;import com.lu.youxiang.mapper.urmapper;import com.lu.youxiang.pojo.ur;import com.lu.youxiang.vo.urvo;import com.lu.youxiang.vo.urvotour;import org.springframework.beans.factory.annotation.autowired;import org.springframework.beans.factory.annotation.value;import org.springframework.mail.simplemailmessage;import org.springframework.mail.javamail.javamailnder;import org.springframework.stereotype.rvice;import javax.rvlet.http.httpssion;import java.util.random;@rvicepublic class mailrvice {    @autowired    private javamailnder mailnder;//一定要用@autowired    @autowired    private urmapper urmapper;//注入urmapper,交给bena    //application.properties中已配置的值    @value("${spring.mail.urname}")    private string from;    /**     * 给前端输入的邮箱,发送验证码     * @param email     * @param ssion     * @return     */    public boolean ndmimemail( string email, httpssion ssion) { 荷花淀读后感       try {            simplemailmessage mailmessage = new simplemailmessage();            mailmessage.tsubject("验证码邮件");//主题            //生成随机数            string code = randomcode();            //将随机数放置到ssion中            ssion.tattribute("email",email);            ssion.tattribute("code",code);            mailmessage.ttext("您收到的验证码是:"+code);//内容            mailmessage.tto(email);//发给谁            mailmessage.tfrom(from);//你自己的邮箱            mailnder.nd(mailmessage);//发送            return  true;        }catch (exception e){            e.printstacktrace();            return fal;        }    }    /**     * 随机生成6位数的验证码     * @return string code     */    public string randomcode(){        stringbuilder str = new stringbuilder();        random random = new random();        for (int i = 0; i < 6; i++) {            str.append(random.nextint(10));        }        return str.tostring();    }    /**     * 检验验证码是否一致     * @param urvo     * @param ssion     * @return     *东莞社保网上查询/    public boolean registered(urvo urvo, httpssion ssion){        //获取ssion中的验证信息        string email = (string) ssion.getattribute("email");        string code = (string) ssion.getattribute("code");        //获取表单中的提交的验证信息        string vocode = urvo.getcode();        //如果email数据为空,或者不一致,注册失败        if (email == null || email.impty()){            //return "error,请重新注册";            return fal;        }el if (!code.equals(vocode)){            //return "error,请重新注册";            return fal;        }        //保存数据        ur ur = urvotour.tour(urvo);        //将数据写入数据库        urmapper.inrtur(ur);        //跳转成功页面        return true;    }    /**     * 通过输入email查询password,然后比较两个password,如果一样,登录成功     * @param email     * @param password     * @return     */    public boolean loginin(string email, string password){        ur ur = urmapper.querybyemail(email);        if(!ur.getpassword().equals(password)){            return fal;        }        system.out.println("登录成功:数据库密码是:"+ur.getpassword());        return true;    }}

3.5、urvo.java

package com.lu.youxiang.vo;public class urvo {    private string urname;    private string password;    private string email;    //    验证码    private string code;    //省略了get和t方法,自己生成一下}

3.6、urvotour.java

package com.lu.youxiang.vo;import com.lu.youxiang.pojo.ur;public class urvotour {    /**     * 将表单中的对象转化为数据库中存储的用户对象(剔除表单中的code)     * @param urvo     * @return     */    public static ur tour(urvo urvo) {        //创建一个数据库中存储的对象        ur ur = new ur();        //传值        ur.turname(urvo.geturname());        ur.tpassword(urvo.getpassword());        ur.temail(urvo.getemail());        // 返回包装后的对象        return ur;    }}

主配置类不复制了,创建springboot项目后,就有。

3.7、urmapper.xml
在resources包下创建mapper包,用来放xml,然后再这个包中创建urmapper.xml,内容如下。

<?xml version="1.0" encoding="utf-8" ?><!doctype mapper        public "-//mybatis.org//dtd mapper 3.0//en"        "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.lu.youxiang.mapper.urmapper">    <inrt id="inrtur" parametertype="com.lu.youxiang.pojo.ur">        inrt into ur (urname,password,email)         values (#{urname},#{password},#{email})    </inrt>    <lect id="querybyemail" resulttype="com.lu.youxiang.pojo.ur">        lect *        from ur        where email = #{email}    </lect></mapper>

4、使用postman测试

如果没有这个软件,安装一下,使用很简单。
打开后,点击左上角的file,再点击new tab,就会出来一个页面。
(或者使用ctrl+t快捷键)

4.1、测试发送邮件

请求url:

http://localhost:8080/ndemail?email=123456@qq.com

把请求url复制到如下如的url中, 邮箱换成自己的,请求方式换成post。点击nd。
如下图

4.2、测试注册

请求url:

http://localhost:8080/regist

把请求url复制到如下如的url中, 邮箱换成自己的,code的值写邮箱收到的,请求方式换成post。点击nd,如下图

4.3、测试登录

请求url:

http://localhost:8080/login?email=123456@qq.com&password=12345

复制url,改成post请求,点击nd。

如下图:

本文发布于:2023-04-05 07:22:21,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/4af7382b534ac55557c0fb4c5d2a8da9.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:正确的邮箱qq格式怎么写(个人电子邮箱填写方法).doc

本文 PDF 下载地址:正确的邮箱qq格式怎么写(个人电子邮箱填写方法).pdf

标签:邮箱   验证码   自己的   数据库
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图