如何发送多个请求.在一个节点邮件中输入正文?



我正在建立一个具有多个输入行的联系表单,并希望从表单发送到我的电子邮件地址的信息。例如,我有一条线用于用户的电子邮件地址,一条线用于用户的预算,还有一条线用于用户的城市。这些变量分别用"email"、"budget"one_answers"city"表示。因此,我使用req.body.email作为nodemailer中的文本。

问题是,我只能把一个变量在电子邮件的文本部分。下面是我的代码,以便更好地解释我的意思。

const mailOptions = {
from: req.body.email,
to: 'fakeemail@gmail.com',
subject: 'New message from Ogma',
text: req.body.email
}

我必须使用什么语法才能将req.body.budget和req.body.city放在文本部分?

谢谢!

编辑:这是我的JS代码的其余部分,因为我不确定什么是错的

const form = document.getElementById('login');
let subject = document.getElementById('subject');
let level = document.getElementById('level');
let inperson = document.getElementById('inperson');
let where = document.getElementById('where');
let details = document.getElementById('details');
let email = document.getElementById('email');

form.addEventListener('submit', (e)=>{
e.preventDefault();
console.log('submit clicked')
let formData = {
subject: subject.value,
level: level.value,
inperson: inperson.value,
where: where.value,
details: details.value,
email: email.value
}
let xhr = new XMLHttpRequest();
xhr.open('POST', '/');
xhr.setRequestHeader('content-type', 'application/json');
xhr.onload = function() {
console.log(xhr.responseText);
if (xhr.responseText == 'success'){
alert('Email sent');
subject.value = '';
level.value = '';
inperson.value = '';
where.value = '';
details.value = '';
email.value = '';
}else{
alert('Invalid login')
}
}
xhr.send(JSON.stringify(formData));
})

如果不是很错,那么req.body应该是一个对象。就像

{
email: "some@mail.com",
budget: 12345,
city: "Paris"
}

这意味着你应该可以直接执行

text: req.body

这样你就可以访问对象,但是使用mailOptions.text并像使用对象一样使用它,或者直接引用它,因为它是一个嵌套的对象-mailOptions.text.budget

这完全取决于你之后如何处理mailOptions

最新更新