Как отправить шаблон hbs с помощью nodemailer, показывающий ошибку?

#node.js

#node.js

Вопрос:

Шаблоны находятся в views/email каталоге filename index.hbs , а имя файла макета находится layout.hbs в views/email каталоге, а детали — в views/email/patrtials каталоге.

Если поместить расширение макета так, как layout.hbs показано, ошибка ann layout.handlebars не найдена. Если задано как layout.handlebars , ошибка не отображается. Но всегда получаю эту ошибку {"errno":-2,"code":"ENOENT","syscall":"open","path":"/home/user/Documents/Master Project/views/email/index.hbs"}

Для отправки моей почты я использовал nodemailer пакет npm, а также установил nodemailer-express-handlebars для компиляции шаблон 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");
  });
});