2013-04-17 5 views
3

Документ о sendEnrollmentEmail слишком короткий, я не могу понять, как это работает.Как использовать sendEnrollmentEmail в Meteor

Мой код не может создать нового пользователя. Он только печатает содержимое электронной почты в консоли, а ссылка в письме 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? спасибо :)

ответ

8

Вы сделали все правильно .. Я попытался заставить его работать, и это работает для меня хорошо. (Какая версия метеора вы используете?)

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

спасибо! Я обнаружил, что 'D4SGgWerKrdNfYrJW' в url является« токеном », и я добавляю маршрутизатор, чтобы получить его из URL-адреса. И с переменной env ROOT_URL и MAIL_URL я наконец получил письмо с правильным контентом – QingYun

Смежные вопросы