无法加载电子邮件模板nodejs nginx

Can't load email template nodejs nginx

我 运行 我的 nginx ubuntu 服务器上的一个小节点应用程序。我设法启动了站点并 运行 为所有静态文件提供服务。 (我花了一段时间才弄明白)。

但现在我想 运行 一个 cron 作业来发送电子邮件。在这封电子邮件中,我使用 'fs' 加载了一个简单的 html 模板。当我 运行 cron 作业时,它给我错误:

错误:ENOENT:没有那个文件或目录,打开 'email.html'

我认为又是因为找不到静态文件但不知道如何修复它。因为我不使用 express to 运行 这个脚本。我的 script.js 看起来像这样:

'use strict';
const nodemailer = require('nodemailer');
var ejs = require("ejs");
var fs = require("fs");
var Handlebars = require('handlebars');

var source = fs.readFileSync('email.html','utf8');

var template = Handlebars.compile(source);

var result = template(user);

var mailOptions = {
    from: '"Me, <me@gmail.com>', // sender address
    to: "user@user.com", // list of receivers
    subject: 'subject', // Subject line
    html: result
};

transporter.sendMail(mailOptions, (error, info) => {
    if (error) {
        return console.log(error);
    }
    console.log('Message sent: %s', info.messageId);
    console.log('Preview URL: %s', nodemailer.getTestMessageUrl(info));
    process.exit()
});

script.js 和 email.html 在同一个根文件夹中

我的 nginx 文件如下所示:

server {
        listen 80;
        listen [::]:80;

        server_name roostr.online www.roostr.online;

        location / {
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Host $http_host;
                proxy_set_header X-NginX-Proxy true;
                proxy_pass http://127.0.0.1:5000/;
                proxy_redirect off;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";

                proxy_redirect off;
                proxy_set_header   X-Forwarded-Proto $scheme;

        }

        location ~ ^/(images/|img/|javascript/|html/|js/|css/|stylesheets/|flash/|media/|static/|robots.txt|humans.txt|favicon.ico) {
                 root /var/www/roostr.online/html/public;
                access_log off;
                expires max;
        }
    }
var html = fs.readFileSync('./path/email.html', 'utf8');