我正在尝试在 Meteor 中创建带有电子邮件验证的自定义注册页面。我想使用 Mandrill 发送验证邮件。在服务器文件夹中,我有一个方法-
addUser: function(user) {
console.log("Adding User - ", user);
var userOptions = {
email: user.email, password: user.password,
profile: {firstname: user.firstname, lastname: user.lastname}
};
var createdUser = Accounts.createUser(userOptions);
console.log("CreatedUser-", createdUser);
Accounts.onCreateUser(function(options, createdUser) {
if (options.profile) {
createdUser.profile = options.profile;
}
else {
createdUser.profile = {};
}
Accounts.sendVerificationEmail(createdUser._id, createdUser.email);
return createdUser;
});
Accounts.createUser方法正在插入一条记录,但电子邮件没有发出。我还使用 Mandrill smtp 凭据定义了 process.env.MAIL_URL。我厌倦了浏览文档并查看了几个博客,但似乎没有任何效果。如果我删除createUser()则用户不会插入 mongo db 并且onCreateUser()失败并出现异常。我浏览了 Meteor 文档,但仍然对onCreateUser()的工作原理感到困惑?onCreateUser()方法将如何获取选项和用户参数?我一直坚持这一点,任何指导/帮助表示赞赏。在通过 stackoverflow 上的另一个问题后,我删除了电子邮件包。我有wylio:mandrill添加到项目中。我需要电子邮件包吗?