Node.js - 注册时发送电子邮件

Eri*_*rik 12 email user-registration email-verification node.js

我有单个电子邮件字段的注册表单.当用户输入其电子邮件时,我需要发送注册链接.

我已经看到这个带有注册表单的Node.js示例.但它只发送了欢迎功能.

有没有发送注册电子邮件的Node.js应用程序示例?

Hub*_* OG 24

到目前为止我还没有见过这样的例子,但你的第二个问题是什么?您提供的示例很好地展示了如何发送电子邮件.另一种选择是使用这个包:

https://github.com/Marak/node_mailer

关于如何发送电子邮件似乎也有详细记录.

因此,我假设您想知道如何设置注册系统.一种方法是使用一个表来注册具有列e-mailtoken列的用户.E-mail很明显,token是一个随机生成的字符串(例如,使用节点的crypto.randomBytes方法),它将作为链接的一部分发送给用户.输入链接后,在数据库中搜索此令牌,如果找到,则继续进行注册.

有两点需要注意:在创建令牌时,请确保它已经存在于数据库中.第二:使用valid_until列删除超过几个小时的令牌是一个好习惯.

更新:

不幸的是,node的base64导出不是url-safe.因此,这是获取我发现的安全令牌的最简单方法:

require('crypto').randomBytes(48, function(ex, buf) {
    token = buf.toString('base64').replace(/\//g,'_').replace(/\+/g,'-');
});
Run Code Online (Sandbox Code Playgroud)

也许有人会提出更好的解决方案.

  • 要稍微备份,当您向数据库添加更多文档时,碰撞概率与键空间不完全相同*.见http://en.wikipedia.org/wiki/Birthday_problem (2认同)