Node.js 如何使用显示错误的NodeEmailer发送hbs模板?
模板位于Node.js 如何使用显示错误的NodeEmailer发送hbs模板?,node.js,Node.js,模板位于views/email目录下,文件名为index.hbs,布局文件名为layout.hbs,位于views/email目录下,零件标签位于views/email/patartials目录下 如果将布局扩展设置为布局。hbs显示ann错误布局。未找到把手。如果像layout.handlebar那样设置,则不会显示错误。但总是会出现此错误{“errno”:-2,“code”:“enoint”,“syscall”:“open”,“path”:“/home/user/Documents/Mast
views/email
目录下,文件名为index.hbs
,布局文件名为layout.hbs
,位于views/email
目录下,零件标签位于views/email/patartials
目录下
如果将布局扩展设置为布局。hbs显示ann错误布局。未找到把手。如果像layout.handlebar
那样设置,则不会显示错误。但总是会出现此错误{“errno”:-2,“code”:“enoint”,“syscall”:“open”,“path”:“/home/user/Documents/Master Project/views/email/index.hbs”}
为了发送邮件,我使用了nodemailer
npm软件包,还安装了nodemailer express手柄
,用于编译hanldebars模板
这是我的代码
const nodemailer = require("nodemailer");
const hbs = require("nodemailer-express-handlebars");
var transporter = nodemailer.createTransport({
service: "gmail",
auth: {
user: process.env.MAIL,
pass: process.env.PASS,
},
});
var options = {
viewEngine: {
extName: ".hbs" /* or '.handlebars' */,
viewPath: __dirname + "/views/email/",
layoutsDir: __dirname + "/view/email",
defaultLayout: "layout",
partialsDir: __dirname + "/views/email/partials/",
},
viewPath: "views/email/",
};
transporter.use(
"compile",
hbs({
viewEngine: {
extName: ".hbs",
viewPath: "../views/email/",
layoutsDir: "../views/email/",
defaultLayout: "layout",
partialsDir: "../views/email/partials/",
},
viewPath: "../views/email",
extName: ".hbs",
})
);
router.get("/mail", (req, res) => {
let mailOptions = {
from: process.env.FROMMAIL,
to: "req.body.email",
subject: "Testing",
template: "index",
};
transporter.sendMail(mailOptions, (error, data) => {
if (error) return res.send(error);
res.send("Mail Send");
});
});