В настоящее время я пытаюсь заполнить html-данные в потоке файлов, чтобы отправить его по электронной почте с помощью smtpTransport. Я пытался использовать ejs, но почти каждый пример, который я вижу, использует ejs.render для отображения содержимого, пока я пытаюсь отправить его в виде строки. Я хочу сделать это вручную против использования чего-то вроде шимпанзе, но я пока не нашел ничего полезного. Для контекста я пытаюсь создать электронную почту квитанции, когда пользователь что-то покупает и заполняет таблицу элементами. Вот код, который я пытался использовать с EJS но получить «TypeError: this.templateText.replace не функция ошибок»:Как я могу динамически заполнять html-данные в узле для публикации, а не для отображения?
router.post('/placeorder', function(req, res) {
var orderInfo = req.body;
var delivery = orderInfo.deliveryDate.split("00:00:00")[0] + " from " + orderInfo.deliveryTime;
//Email buyer receipt
fs.readFile('buyer_receipt.html',function (err, data){
if (err) {
console.log(err);
} else {
var renderedHtml = ejs.render(data, {cart: orderInfo.cart, subtotal: orderInfo.subtotal, fee: orderInfo.fee, total: orderInfo.total, deliveryInfo: delivery});
smtpTransport.sendMail({
from: "Test <[email protected]>",
to: orderInfo.user.user.ownerName + " <" + orderInfo.user.user.email +">",
subject: "Thanks for your order!",
html: renderedHtml
}, function(error, response){
if(error) {
console.log(error);
} else {
console.log("Mail sent: " + response.message);
}
});
}
});
Я открыт для использования другой платформы вне EJS как Что ж.
здесь пример использования нефрита аки мопса http://stackoverflow.com/questions/ 21654051/как к отправке-ан-HTML-странице-как-почта-в-nodejs/21654249 # 21654249 – Ryan