gpt4 book ai didi

javascript - Accounts.createUser 在 Meteor.methods 中使用时不发送验证电子邮件

转载 作者:行者123 更新时间:2023-12-02 15:21:16 25 4
gpt4 key购买 nike

我有一个基本的 meteor 方法,可以执行以下操作

服务器/methods.js

Meteor.methods({
createUserAccount: function(user) {
return Accounts.createUser(user);
}
});

服务器/init.js

Meteor.startup(function() {
process.env.MAIL_URL = ""//removed for SO;

Accounts.config({
sendVerificationEmail:true,
forbidClientAccountCreation: true
});
)};

从客户端调用注册是这样的。

客户端/register.js

'submit #app-register-user': function(e,t){
e.preventDefault();
var user = {
username: t.find('#app-username').value,
email: t.find('#app-email').value,
password: t.find('#app-password').value,
profile:{
name: t.find('#app-username').value
}
};
Meteor.call('createUserAccount', user, function(error) {
if(error){
alert(error);
}
else{
$("#joinModal").modal("hide");
}
});
}

这会创建用户,但不会发送验证电子邮件。但是,如果我要像这样从客户端创建用户

客户端/register.js

Accounts.createUser({
username: t.find('#app-username').value,
email: t.find('#app-email').value,
password: t.find('#app-password').value,
profile:{
name: t.find('#app-username').value
}
},function(err){
if(err){
alert("something went wrong "+ err);
}
else{
$("#joinModal").modal("hide");
}
})

电子邮件已发送。

我尝试从服务器端创建用户的原因是因为我想禁用自动登录并允许经过验证的用户登录。

任何有关如何解决此问题的帮助将不胜感激!

谢谢。

最佳答案

如果您在客户端创建用户,Accounts 包会负责在 Meteor.users 集合中创建用户,然后发送验证电子邮件。它通过调用服务器方法createUser 来实现这一点。

如果您像您一样使用自己的方法创建新用户服务器端,则帐户包仅创建用户。您必须按照 Richsilv 的建议自行发送验证电子邮件。或者使用其他一些例程将验证电子邮件发送给用户。

如果您想深入了解 Accounts 包如何处理此问题,请查看:Accounts packages createUser/verification

关于javascript - Accounts.createUser 在 Meteor.methods 中使用时不发送验证电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34037439/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com