2016-11-09 9 views
1

メールテンプレート内でパーシャルを使用しようとしています。私はハンドルバーでパーシャルを使用できませんメールテンプレート

アプリレベルで
exphbs = require('express-handlebars') 
var viewsPath = path.join(__dirname, '/app/views'); 
app.set('views', viewsPath); 
var hbs = exphbs.create({ 
    defaultLayout: 'main', 
    layoutsDir: viewsPath + '/layouts', 
    partialsDir: viewsPath + '/partials' 
}); 
app.engine('handlebars', hbs.engine); 
app.set('view engine', 'handlebars'); 

をテンプレートエンジンとして「表現・ハンドル」を使用していると私は以下のように電子メールを送信するためのヘルパーを持っている:

var templateDir = path.join(__dirname, '../views/email_templates'); 
var EmailTemplate = require('email-templates').EmailTemplate; 

function sendEmail(options,done){ 
     var template = new EmailTemplate(templateDir + "/" + options.template); 
     template.render(options, function(err, result){ 
     var message = { 
      'to' : [options.toEmail], 
      'from_email' : '[email protected]', 
      'from_name' : 'XYZ', 
      'headers' : { 
      "Reply-To" : '[email protected]' 
      }, 
      'subject' : options.subject, 
      'html' : result.html 
     }; 

      var to_address = message.to[0].email; 
      ses_client.sendEmail({ 
      'from' : message.from_email, 
      'replyTo' : message.from_email, 
      'subject' : message.subject, 
      'to' : to_address, 
      'message' : message.html 
      },function (err, data,res){ 
       if(err) logger.log('error', 'Error in sending email' + err); 
       return done(); 
      }); 
     }); 
} 

私は私のhtml.handlebarsで部分を含む場合テンプレートは{{> myPartial}}として次のエラーが表示されます:部分的なmyPartialが見つかりませんでした

私は部分ファイルが上記と同じパスにあることを確認しました "partialsDir:viewsPath + '/部分」 '

電子メールテンプレート内で部分画像をレンダリングするにはどうすればよいですか?

私はhttps://stackoverflow.com/a/12700409/6165688を使用しようとしましたが、まだ部分的に同じエラーが見つかりません。

答えて

0

最後に、私の電子メールテンプレートで部分的な作業ができました。私はthisリンクを参照して、以前使用していたemail-templatesからnodemailer npmに切り替えました。

関連する問題