5

我对发送验证电子邮件和弹出对话框有一些疑问。

  • 如何更改验证邮件内容?我必须添加俄语文本
  • 如何避免用户注册后自动登录?如果未验证电子邮件地址,我想禁止用户登录。
  • 如何更改弹出对话框的内容和样式,例如已验证电子邮件?

我正在使用Iron-router,accounts- * packages/

4

2 回答 2

15

要更改验证电子邮件,请遵循以下模板:https ://github.com/meteor/meteor/blob/devel/packages/accounts-password/email_templates.js

自定义电子邮件模板

例如(取自上面的 url),有很多需要定制的地方。

Accounts.emailTemplates.verifyEmail = {
   subject: function(user) {
      return "How to verify email address on " + Accounts.emailTemplates.siteName;
   },
   text: function(user, url) {
       var greeting = (user.profile && user.profile.name) ?
           ("Hello " + user.profile.name + ",") : "Hello,";
       return greeting + "\n"
              + "\n"
              + "To verify your account email, simply click the link below.\n"
              + "\n"
              + url + "\n"
              + "\n"
              + "Thanks.\n";
   }
}

如何避免用户注册后自动登录

注册不要Accounts.createUser在客户端使用。使用方法/调用将您的消息代理到服务器

客户端

Meteor.call("registerMe", username, password, function(err, result) {

});

服务器端:

Meteor.methods({
    registerMe: function(username, password) {
        return Accounts.createUser({username: username, password: password});
    }
});

如何更改弹出对话框的内容和样式,例如已验证电子邮件?

您可以通过从项目中删除 accounts-ui 并添加一个无样式的,然后单独添加样式来自定义 accounts-ui 的东西

meteor remove accounts-ui
meteor add accounts-ui-unstyled
meteor add less

然后在您的项目中使用https://github.com/meteor/meteor/blob/devel/packages/accounts-ui/login_buttons.less.less中的文件并根据您的喜好对其进行自定义。

于 2014-01-11T17:23:01.563 回答
4
Accounts.validateLoginAttempt(function(type){

    if(type.user && type.user.emails && !type.user.emails[0].verified )
        throw new Meteor.Error(100002, "email not verified" );
    return true;
}); 
于 2014-06-28T01:16:36.337 回答