设置验证邮件的返回网址的内容。不是生成并插入电子邮件中的链接,但是当您单击该链接时,它会在验证后最终转到您网站上的页面。如何设置它所访问的页面?
答案 0 :(得分:1)
您可以通过指定Accounts.emailTemplates.verifyEmail.text来设置网址。这是一个例子:
Accounts.emailTemplates.siteName = 'MyApp';
Accounts.emailTemplates.from = 'me@example.com';
Accounts.emailTemplates.verifyEmail.subject = function() {
return 'Verify your email address on MyApp';
};
Accounts.emailTemplates.verifyEmail.text = function(user, url) {
var token = url.split('/').pop();
var verifyEmailUrl = Meteor.absoluteUrl("verify-email/" + token);
return verifyEmailEmailBody(verifyEmailUrl);
};
回调采用url
参数,这是meteor生成的默认网址。您可以提取验证令牌,然后使用它来构建自定义URL。该函数需要返回一个正文字符串,您将通过实现verifyEmailEmailBody
生成该字符串。
在客户端上,您需要设置相应的路线。运行路线后,您可以拨打Accounts.verifyEmail
。
答案 1 :(得分:0)
您可以更改电子邮件中使用的验证网址,然后自行处理该路线。在此,我会使用/verify
并在成功时重定向到/wherever
。
<强>客户端强>
var match = window.location.pathname.match(/^\/verify\/(.*)$/);
var token;
if (match) {
token = match[1];
}
Meteor.startup(function () {
if (token) {
Accounts.verifyEmail(token, function (error) {
if (!error) {
window.location.pathname = '/wherever';
}
});
}
});
服务器强>
Accounts.urls.verifyEmail = function (token) {
return Meteor.absoluteUrl('verify/' + token);
};