用户登录

用户注册成功以后,可以往用户邮箱里发一封验证邮件,里面可以包含一个验证链接 .. 链接上会带着验证的 token .. 先打开 UserController 这个控制器 .. 现在处理注册用户请求用的是这个控制器里的 store 这个方法 ..

先在文件顶部导入 Mail .. 添加一个 Mail .. 再添加一个 Env ... 用一下 Env ..

然后找到 store 这个方法 .. 这里用了模型的 create 方法创建了一个用户 .. 下面可以添加一个 verification .. await 用一下 user 上的 generateVerification,这个是我们之前在 User 模型上添加的一个方法 .. 它可以生成一个跟这个用户相关联的验证数据 ..

下面用一下 Mail .. 的 send .. 邮件可以使用一个视图 .. email 下面的 verification ,等会儿再去创建这个视图 ..

然后是给视图的数据 .. 添加一个 appURL .. 它的值用一下 Env.get .. 得到 APP_URL 的值 ..

在 .env 文件里面 .. 定义了一个 APP_URL .. 它的值里面会包含一个 HOST .. 还有 PORT .. 在上面分别定义了这个 HOST .. 还有 PORT 的值 ..

再添加一个 verification ... 还有 user ..

第三个参数是个回调 .. 接收一个 message 参数 .. 先用一下 message 上的 to ,邮件的接收者地址是 user.email .. 再用 from 设置一下发件人 .. Env.get ,得到 SITE_MAIL ..

然后用 subject 设置一下邮件主题 .. Please verify your email ${ user.email }

邮件视图

再去准备一下邮件需要的视图 ... resources .. views .. 在 email 下面,有一个我们之前创建的邮件视图 .. 复制一份 ... 名字是 verification.edge ..

标题是 Please verify your email.

设置一下邮件内容 .. Press the button below to verify your email and activate your account .. 一组 strong 标签 .. 里面绑定一下用户帐号里的用户名 ..

下面是个链接按钮 .. 先是 appURL .. 后面加上一个路由 .. 名字是 verification.email .. 这个路由上有个参数是 token .. 对应的值是 verification.token .. 这个路由一会儿再去定义 ..

链接文字是 Verify ..

在应用里我用了一个 mailhog 服务,它可以获取到应用发送出去的邮件 .. 这个服务我是用 docker 运行的 .. 确定这个容器已经启动了 .. .

试验

然后再去注册一个新的用户试一下 ... 打开注册用户的页面 ... 输入用户名 .. 邮件地址 ... 还有密码 .. 成功以后,我们可以查看一下应用发出去的邮件 ...

没有收到邮件 .. 这个是因为应用当前使用的邮件的配置的事 .. 我现在用的是阿里云的邮件推送服务 .. 暂时先把它换成在本地运行的 mailhog 服务 .. 端口是 1025 ... 主机是 localhost .. 服务不需要验证用户名还有密码 ..

然后重新再运行一下应用的服务 ..

回到数据库客户端 ... 把刚才我们注册的用户删除掉 ... 这样给这个用户生成的 verification 数据也会被删除掉 ..

再去注册一个新的用户 ... 输入用户名 .. 邮件地址 ... 密码 ... 注册一下 ..

成功创建了用户以后,会给用户发送一封验证邮件 ..

你会发现,这里有个 Please verify your email 的邮件 ...

用户注册以后发送验证邮件《 Node.js 应用:邮件验证 》

统计

14696
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点