我对发送验证电子邮件和弹出对话框有一些疑问。
- 如何更改验证邮件内容?我必须添加俄语文本
- 如何避免用户注册后自动登录?如果未验证电子邮件地址,我想禁止用户登录。
- 如何更改弹出对话框的内容和样式,例如已验证电子邮件?
我正在使用Iron-router,accounts- * packages/
我对发送验证电子邮件和弹出对话框有一些疑问。
我正在使用Iron-router,accounts- * packages/
要更改验证电子邮件,请遵循以下模板: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
中的文件并根据您的喜好对其进行自定义。
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;
});