如何在流星中使用sendEnrollmentEmail

问题描述:

关于sendEnrollmentEmail的文档太短,我不明白它是如何工作的。如何在流星中使用sendEnrollmentEmail

我的代码无法创建新用户。它只打印控制台中的电子邮件内容,并且电子邮件http://localhost:3000/#/enroll-account/D4SGgWerKrdNfYrJW中的链接仅重定向到localhost:3000/,我无法找到应按文档所述传递给Accounts.resetPassword的令牌。

Meteor.methods({ 
    createNewUser: function (username, email) { 
    Meteor.call("validateUsername", username); 
    Meteor.call("validateEmail", email); 
    var userId = Accounts.createUser({username: username, email: email}); 
    Accounts.sendEnrollmentEmail(userId); 
    } 
}); 

有大约sendEnrollmentEmail任何的例子吗?谢谢:)

你做了一切正确..我试图让它工作,它对我很好。 (流星的哪个版本是您使用?)

if (Meteor.isServer) {  
    Meteor.methods({ 
    createNewUser: function (username, email) { 
    // i recommend to create user with initial password otherwise it will be empty string 
    var userId = Accounts.createUser({username: username, email: email, password: 'initialPassword'}); 
    Accounts.sendEnrollmentEmail(userId); 
    } 
    }); 
} 

之后,我在控制台得到了“邮件”,点击链接打开浏览器,其中弹出“窗口”更改密码

+0

谢谢!我发现URL中的'D4SGgWerKrdNfYrJW'是“token”,我添加了一个路由器从url中获取它。通过env变量ROOT_URL和MAIL_URL,我终于得到了正确内容的电子邮件 – QingYun