Javascript Meteor.js-获取/获取注册令牌(来自Accounts.sendEnrollmentEmail)
我不知道如何从Accounts.sendEnrollmentEmail功能获取注册令牌 我知道该功能会直接向用户发送邮件,最终看起来是这样的: 但是,由于我想通过不同的服务(例如邮戳)发送注册邮件,因此我只需要访问令牌部分fcxzbbqinzgbllaopu8iv11jp9djeg-e1auAHDsh6SJavascript Meteor.js-获取/获取注册令牌(来自Accounts.sendEnrollmentEmail),javascript,meteor,Javascript,Meteor,我不知道如何从Accounts.sendEnrollmentEmail功能获取注册令牌 我知道该功能会直接向用户发送邮件,最终看起来是这样的: 但是,由于我想通过不同的服务(例如邮戳)发送注册邮件,因此我只需要访问令牌部分fcxzbbqinzgbllaopu8iv11jp9djeg-e1auAHDsh6S 如何做到这一点?Accounts.sendEnrollmentEmail(userId,email)函数生成一个随机令牌,并将其保存在用户的服务.密码.重置.令牌字段中 生成令牌的代码是:
如何做到这一点?Accounts.sendEnrollmentEmail(userId,email)函数生成一个随机令牌,并将其保存在用户的
服务.密码.重置.令牌
字段中
生成令牌的代码是:
var token = Random.secret();
var when = new Date();
var tokenRecord = {
token: token,
email: email,
when: when
};
Meteor.users.update(userId, {$set: {
"services.password.reset": tokenRecord
}});
(您可以查看函数的源代码)
然后,它使用电子邮件
软件包向用户发送电子邮件。如果您想使用其他服务发送电子邮件,您基本上有两种选择:
- 自己使用相同的约定(即,创建相同的记录并在自己的功能中使用自己的电子邮件服务)
- 使用现有功能,允许邮件传递以静默方式失败,然后查询用户文档中的令牌并自行发送电子邮件
顺便说一句,此功能与Accounts.sendResetPasswordEmail非常相似,您可能还希望覆盖或创建自己的版本。噢,伙计,感谢大家向我澄清这一点!我整个周末都在想办法解决这个问题!很高兴能帮忙。没有什么比查看源代码和测试更能更好地理解内部结构了。