我有一个问题。我正在尝试对从客户端站点获取请求的后端进行编程,而服务器响应是电子邮件。我也想将数据保存在数据库中。基本上,我在客户端站点上有一个表单,我只想保存数据并通过电子邮件将数据发送给用户。奇怪的是,它正在工作,但是我也得到了以下答案:»将标头发送到客户端后,无法设置标头«
有人可以提示我为什么会这样吗?
谢谢。
const Briefing = require("../models/briefing");
const sgMail = require("@sendgrid/mail");
sgMail.setApiKey(process.env.EMAIL_API_KEY);
exports.briefing = (req, res) => {
const {
gender,
age,
income,
} = req.body;
let newBriefing = new Briefing({
gender,
age,
income,
});
newBriefing.save((err, success) => {
if (err) {
console.log("ERROR CREATING BRIEFING", err);
return res.status(400).json({
error: err,
});
}
res.json({
message: "Briefing successfull created",
});
});
const emailData = {
to: process.env.EMAIL_TO,
from: process.env.EMAIL_FROM,
subject: `Briefing`,
text: "Eine Aufstellung des erstellten Briefings",
html: `
<h1>Das Briefing</h1>
<p>Vielen dank, dass du dir die Zeit genommen hast dieses Briefing zu erstellen.</p>
<p>Hier vorab die Daten:</p>
<p>${gender}</p>
<p>${age}</p>
<p>${income}</p>
<p>desweiteren befindet sich im anhang eine PDF</p>
`,
};
sgMail
.send(emailData)
.then((send) => {
console.log("SIGNUP EMAIL SEND", send);
return res.json({
message: `Email has been sent to [email protected] follow the instruction to activate your account.`,
});
})
.catch((err) => {
console.log("EMAIL SENDING ERROR", err);
console.error(err.response.body);
});
};
我已经解决了在if语句之后发送电子邮件的过程,像这样:
const Briefing = require("../models/briefing");
const sgMail = require("@sendgrid/mail");
sgMail.setApiKey(process.env.EMAIL_API_KEY);
exports.briefing = (req, res) => {
const {
gender,
age,
income,
});
newBriefing.save((err, success) => {
if (err) {
console.log("ERROR CREATING BRIEFING", err);
return res.status(400).json({
error: err,
});
}
const emailData = {
to: process.env.EMAIL_TO,
from: process.env.EMAIL_FROM,
subject: `Briefing`,
text: "Eine Aufstellung des erstellten Briefings",
html: `
<h1>Das Briefing</h1>
<p>Vielen dank, dass du dir die Zeit genommen hast dieses Briefing zu erstellen.</p>
<p>Hier vorab die Daten:</p>
<p>${gender}</p>
<p>${age}</p>
<p>${income}</p>
<p>desweiteren befindet sich im anhang eine PDF</p>
`,
};
sgMail
.send(emailData)
.then((send) => {
console.log("SIGNUP EMAIL SEND", send);
return res.json({
message: `Email has been sent to [email protected] follow the instruction to activate your account.`,
});
})
.catch((err) => {
console.log("EMAIL SENDING ERROR", err);
console.error(err.response.body);
});
});
};