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



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

我看过这个Node.js的例子,它有注册表单,但它只有sendWelcome功能。

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

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

github.com/andris9/Nodemailer

关于如何发送电子邮件,似乎也有很好的记录。

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

需要注意的两件事是:在创建令牌时,确保它不存在于数据库中。第二:使用valid_until列删除超过几个小时的令牌是一种很好的做法。

更新:

不幸的是,节点的base64导出不是url安全的。因此,这是获得我发现的安全令牌的最简单方法:

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

也许有人会想出一个更好的解决方案。

最新更新