我在客户端有一个模板
<template name="sendThis">
<img src="logo.png"><br>
<h3>Welcome to Meteor NewBie</h3>
Dear {{name}},
<p>You received this Email because you have subscribed to http://www.example.com</p>
</template>
我想将此模板(sendThis)作为HTML正文发送到订阅者的电子邮件中。
我使用Mailgun作为我的电子邮件客户端。当订阅者点击带有ID&#34;订阅&#34;的按钮时,我应该采取哪些步骤来实现这一目标。
PS:我在这个模板中有多个帮助器,在20多个意义上是多个。
提前致谢。 Mahesh B。
答案 0 :(得分:0)
解决此问题的一种方法是使用Blaze.toHTMLWithData将模板(带上下文)呈现为HTML字符串。然后,您可以在服务器上调用一个方法,该方法使用相应的主题和地址向用户发送电子邮件。这是一个例子:
var sendSignupEmail = function() {
// This assumes this first email address is the one you want.
// In some cases you may want the first verified email, but not
// during signup.
var address = Meteor.user().emails[0].address;
var subject = 'Thanks for signing up!';
// Here I used username - replace this with the appropriate data
// like Meteor.user().profile.firstName or something.
var body = Blaze.toHTMLWithData(Template.sendThis, {
name: Meteor.user().username
});
Meteor.call('sendEmail', address, subject, body);
};
Meteor.methods({
sendEmail: function(to, subject, html) {
check([to, subject, html], [String]);
this.unblock();
return Email.send({
to: to,
from: 'something@example.com',
subject: subject,
html: html
});
}
});
还要确保已定义MAIL_URL环境变量。