Так что у меня index.ejs, которое делает прекрасно, когда я начинаю свой nodejs сервер:Sendgrid: визуализируйте шаблон ejs и отправьте его по электронной почте.
<!DOCTYPE html>
<html>
<head>
<title<%= title %></title>
</head>
<body>
<h1><%= title %></h1>
<h3><%= yesterday %></h3>
<h1> Number of Spins: <%= count %></h1>
<h1> Active User Count: <%= userCount %></h1>
<h1> Users that did not validate: </h1>
<ul>
<% for(var i=0; i<unvalid.length; i++) {%>
<li><%= unvalid[i] %></li>
<% } %>
</ul>
</body>
</html>
Дело в том, я хотел бы послать это на электронную почту с помощью Sendgrid. До сих пор, что я делал это с помощью метода .setHTML для сортировки из «грубой силы» это:
email.setHtml('<h1> Spotluck Daily Report </h1><h3>'+ yesterday + '</h3><h1> Number of Spins: '+cuenta+'</h1><h1> Active User Count: '+userCount+'</h1>' +'<h1> Users that did not validate: </h1>');
Но это никогда не будет работать, потому что он не смог бы оказать EJS цикл. Поэтому мой вопрос: как я могу сообщить электронной почте Sendgrid, чтобы сделать мои ejs и отправить ее в виде электронной почты, не прибегая к .setHTML?
Так что я пытаюсь выполнить email.setHtml (ejs.render ('../ path/to/index.ejs', {// устанавливаем здесь шаблоны})), но когда я отправляю электронное письмо, просто распечатывает «../path/to/index.ejs» по электронной почте. Предложения? –
Чтобы прочитать файл, вам нужно использовать что-то вроде [readFileSync] (https://github.com/SparkPost/node-sparkpost/blob/master/lib/SendGridCompatibility/index.js). Может быть, даже называть 'toString()' на нем. – eddiezane
Закончено с использованием readFile(). Благодаря! –