我有一个带有单个电子邮件字段的注册表格。当用户输入他的电子邮件时,我需要发送一个注册链接。
我看过了这个Node.js示例注册表格 (链接) 。但是它只有一个发送欢迎电子邮件的功能。
是否有任何具有发送注册电子邮件功能的Node.js应用程序示例?
我有一个带有单个电子邮件字段的注册表格。当用户输入他的电子邮件时,我需要发送一个注册链接。
我看过了这个Node.js示例注册表格 (链接) 。但是它只有一个发送欢迎电子邮件的功能。
是否有任何具有发送注册电子邮件功能的Node.js应用程序示例?
到目前为止,我还没有见过这样的例子,但是你的次要问题是什么? 你提供的示例很好地展示了如何发送电子邮件。另一个选择是使用此软件包:
它似乎也有很好的文档介绍如何发送电子邮件。
因此,我假设您想知道如何设置注册系统。一种方法是拥有一个用于注册用户的表格,其中具有“电子邮件”和“令牌”列。“电子邮件”是明显的,“令牌”是一个随机生成的字符串(例如使用node的“crypto.randomBytes”方法),将作为链接的一部分发送给用户。输入链接后,您可以搜索此令牌的数据库,如果找到,则进行注册。
需要注意两件事:在创建令牌时,请确保它尚未存在于数据库中。其次:最好使用“valid_until”列来删除几小时之前的令牌。
更新:
不幸的是,节点的base64导出不是安全的url。因此,我发现以下是获得安全令牌的最简单方法:
require('crypto').randomBytes(48, function(ex, buf) {
token = buf.toString('base64').replace(/\//g,'_').replace(/\+/g,'-');
});
node_mailer
已经被弃用,建议使用https://github.com/andris9/Nodemailer。因此,请根据新的更好的解决方案编辑您的答案! - nbro