为什么定制的Meteor帐号验证邮件没有显示为Html?
以下是imports/api/friends/methods.js
中的代码:
import {Meteor} from "meteor/meteor";
import {Accounts} from "meteor/accounts-base";
if (Meteor.isServer) {
Accounts.emailTemplates.siteName = "....";
Accounts.emailTemplates.from = "example01 <example01@gmail.com>";
Accounts.emailTemplates.verifyEmail.from = function () {
return "example01 <example01@gmail.com>";
};
Accounts.emailTemplates.verifyEmail.text = function(user, url) {
return '<h1>Thank you for your registration.</h1><br/><a href="' + url + '">Verify eMail</a>';
};
}
结果如下:
如您所见,Gmail采用了这种格式。我们可以使用<h1>
和<br>
这两个HTML标记。
它们为什么不显示为HTML?
解决方案
您使用了错误的函数。如果使用Accounts.emailTemplates.verifyEmail.text
,则正文将以文本形式返回,而不是以HTML形式返回。因此,您应该使用Accounts.emailTemplates.verifyEmail.html
。
例如:
Accounts.emailTemplates.verifyEmail.html = function(user, url) {
/* Return your HTML code here: */
return '<h1>Thank you for your registration.</h1><br/><a href="' + url + '">Verify eMail</a>';
};
阅读有关Accounts.emailTemplates
的详细信息。
相关文章