流星电子邮件模板

时间:2015-07-30 06:31:35

标签: javascript meteor

我正在尝试在服务器端发送一封html电子邮件,这就是我所关注的

  1. meteor add blaze
  2. 客户方:
  3. var dataContext = {
        from: "wrs@mw.com",
        to: event.speakers[i].email,
        name: event.speakers[i].fname + " " + event.speakers[i].lname,
        subject: "Invitation to Event <h3>" + event.title + " !",
        message: "You must see this, it's amazing !",
        url: "http://myapp.com/content/amazingstuff"
    };
    
    Meteor.call('sendInvitationEmail', dataContext);
    
    1. 服务器端:
    2. Meteor.methods({
          sendInvitationEmail: function(subject, data) {
              var html = Blaze.toHTML(Blaze.With(data, function() {
                  return Template.invitation;
              }));
              Email.send({
                  to: data.to,
                  from: data.from,
                  subject: data.subject,
                  html: html
              });
          }
      });
      
      1. 服务器模板:
      2. <template name="invitation">
           Hello {{name}},
           {{title}}
           {{message}}
           {{url}}
        </template>
        

        我收到错误:

          

        “调用方法'sendInvitationEmail'时出错:内部服务器错误[500]”

2 个答案:

答案 0 :(得分:0)

这是解决方案:

meteor add cmather:handlebars-server

安装此软件包后,您将可以访问服务器上的模板,例如:

html = Handlebars.templates.invitation(data)

official repository

中提供了更多文档

答案 1 :(得分:0)

服务器端呈现可以由优秀的meteorhacks:ssr包提供