邮件与验证

学习目标:

  • 使用Django发送邮件的方法
  • 邮件激活的机制

业务说明:

在用户中心页面中,我们允许用户设置邮箱

设置邮箱

当用户点击保存后,我们会向用户发送邮件以验证邮箱的有效性。

验证邮件

为了避免用户未收到验证邮箱,我们提供“重新发送验证邮件”按钮允许用户重新发送邮件。

重新发送验证邮件

邮箱验证成功,显示已验证。

邮箱已验证

技术说明:

在邮件中提供的激活链接地址,为了能区分是哪个用户在进行邮箱验证,需要在链接中包含用户和邮箱的识别信息,如user_id和email数据,但是基于安全性的考虑,不能将这两个数据直接暴露在邮件链接中,而是需要进行隐藏和签名处理(能够检测出是否修改过链接数据)。可以使用前面学过的itsdangerous对user_id和email数据进行处理,生成token作为链接的参数。