gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 01:24:36 26 4
gpt4 key购买 nike

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

服务器.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: "*" }));

//Body解析器中间件

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,
});
});
});
}));
}

//从 Angular 获取值

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');
});

});

这是发送电子邮件模板的代码..我从角度获取值并将其发送到 Node 文件。

最佳答案

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

关于node.js - 我如何在 Node js 的帮助下从 Angular 发送电子邮件模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58027290/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com