Node.js 如何在node js的帮助下从angular发送电子邮件模板

Node.js 如何在node js的帮助下从angular发送电子邮件模板,node.js,nodemailer,angular8,email-templates,Node.js,Nodemailer,Angular8,Email Templates,我想通过angular和node js发送电子邮件模板。我正在从angular获取值。我正在尝试使用angular和node js发送电子邮件模板,但我无法发送邮件。 节点js代码如下 server.js const nodemailer = require('nodemailer'), express = require('express'); cors = require('cors'); const bodyParser = require('body-parser'); const de

我想通过angular和node js发送电子邮件模板。我正在从angular获取值。我正在尝试使用angular和node js发送电子邮件模板,但我无法发送邮件。 节点js代码如下

server.js

const nodemailer = require('nodemailer'),
express = require('express');
cors = require('cors');
const bodyParser = require('body-parser');
const details = require("./details.json");
//初始化应用程序

const app = express();
//交叉连接

app.use(cors({ origin: "*" }));
//体解析器中间件

app.use(bodyParser.urlencoded({extended: true}));
app.use(bodyParser.json());
//定义端口

port = 3000;
//启动服务器

 app.listen(port, function(){
    console.log(`Server is running at port: ${port}`);
});

transporter = nodemailer.createTransport({
    service: 'gmail',
    auth: {
        user: details.email,
        pass: details.password,
    },
}),
EmailTemplate = require('email-templates').EmailTemplate,
path = require('path'),
Promise = require('bluebird');

function sendEmail (obj) {
    return transporter.sendMail(obj);
}
//模板选择功能

function loadTemplate (templateName, contexts) {
let template = new EmailTemplate(path.join(__dirname, 'templates', 
templateName));
return Promise.all(contexts.map((context) => {
    return new Promise((resolve, reject) => {
        template.render(context, (err, result) => {
            if (err) reject(err);
            else resolve({
                email: result,
                context,
            });
        });
    });
}));
}
//从角度获取值

app.post('/sendmail', function (req, res){
let rgData = req.body;

loadTemplate('registration', rgData).then((results) => {
    return Promise.all(results.map((result) => {
        sendEmail({
            to: result.context.email,
            from: 'Felix Its :)',
            subject: result.email.subject,
            html: result.email.html,
            text: result.email.text,
        });
    }));
}).then(() => {
    console.log('Email Successfully Sent');
});


transporter.sendMail(mailOptions, (error, info) => {
      if (error) {
        return console.log(error);
      }
      console.log('Message %s sent: %s', info.messageId, info.response);
        res.render('index');
});

});
这是发送电子邮件模板的代码。。
im从angular和send to node文件获取值。

您应该授予此服务中使用的电子邮件地址发送电子邮件的权限。

您应该授予此服务中使用的电子邮件地址发送电子邮件的权限。

您的错误是什么