2013-04-17 37 views
3

關於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任何的例子嗎?謝謝:)

回答

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

謝謝!我發現URL中的'D4SGgWerKrdNfYrJW'是「token」,我添加了一個路由器從url中獲取它。通過env變量ROOT_URL和MAIL_URL,我終於得到了正確內容的電子郵件 – QingYun