SpringBoot+Vue邮箱注册

第一部分前端代码:

<el-form ref="loginForm" :model="form" :rules="rules" label-width="80px" class="login-box" label-position="top">
            <h3 class="login-title">邮箱注册</h3>
            <div style="text-align: center;"><span class="login-info"></span></div>
            <el-form-item label="账号" prop="usname" size="small">
                <el-input id="name" v-model="form.usname" placeholder="请输入帐号">
                </el-input>
            </el-form-item>

            <el-form-item label="密码" prop="psword" size="small">
                <el-input id="password" v-model="form.psword" type="password" placeholder="请输入密码">
                </el-input>
            </el-form-item>
            <el-form-item label="邮箱地址" prop="email" size="small">
                <el-input id="password" v-model="form.email"  placeholder="请输入密码">
                </el-input>
                <el-button size="mini" @click="getCode">获取邮箱验证</el-button>
            </el-form-item>
            <el-form-item label="验证码" prop="codde" size="small">
                <el-input id="code" v-model="form.code"  placeholder="请输入邮箱验证码">
                </el-input>
            </el-form-item>

            <el-button class="login-sub" type="info" plain v-on:click="onSubmit('loginForm')">确 认 登 录</el-button>
            <div class="t-right" style="margin-top: 10px;">
                <el-link href="/index.html" type="info">返回登录</el-link>
            </div>
        </el-form>

        <!--    -->
        <el-dialog title="温馨提示" :visible.sync="dialogVisible">
            <span>请输入账号和密码</span>
            <span slot="footer" class="dialog-footer">
                <el-button type="info" size="mini" @click="dialogVisible = false">确 定</el-button>
            </span>
        </el-dialog>


//这里是script的代码块
<script type="text/javascript">
    new Vue({
        el: '#app',
        data: {
            dialogVisible: false,
            form: {
                usname: '',
                psword: '',
                code:'',
                email:''
            },
            cap:"captcha",
            // 表单验证,需要在 el-form-item 元素中增加 prop 属性
            rules: {
                usname: [
                    { required: true, message: '账号不可为空', trigger: 'blur' }
                ],
                psword: [
                    { required: true, message: '密码不可为空', trigger: 'blur' }
                ],
                email: [
                    { required: true, message: '邮箱地址不能为空', trigger: 'blur' },
                    { type: 'email', message: '请输入正确的邮箱地址', trigger: ['blur', 'change'] }
                ]
            }
        },
        methods: {
            getCode(){
                let t = this;
                // 方法的目的,向邮件发送一份验证码--调用对应接口就行了
                axios.get("/email?email="+t.form.email).then(resp=>{
                    if (resp.data.code == 200) {
                        t.$message.success("邮件发送成功!");
                    }
                });
            },
            getCaptcha(){
                this.cap="captcha?x="+Math.random();
            },
            onSubmit(formName) {
                // 为表单绑定验证功能
                let t = this;
                this.$refs[formName].validate((valid) => {
                    if (valid) {
                        //登录验证
                        axios.post("/regmail", t.form).then(resp => {
                            if (resp.data.code == 200) {
                                window.location.href = "/index.html";
                            } else {
                                t.$message.error(resp.data.message);
                                t.getCaptcha();
                            }
                        })
                    } else {
                        this.dialogVisible = true;
                        return false;
                    }
                });
            }
        }
    })

</script>

第二部分设置好一个第三方的邮件服务和pom.xml 还有application.yml
下面是pom.xml依赖:

		<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-mail</artifactId>
        </dependency>

下面是application.yml的配置:

配置application.yml

最后在配置的自己邮箱服务
配置qq邮箱
最后就是服务层的代码实现了
在服务层写
先写接口
在实现接口

最后的效果:
效果

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值