У меня проблема с узлом и Node Mailer. Когда я отправляю письмо от localhost, все работает. Но при развертывании моего проекта на моем vps возникает ошибка 404. Если я изменяю URL-запрос на / index Ajax, возвращаем статус 200 OK. Я использую BodyParser, Nodemailer.
Задняя часть:
app.post(' /send-mail ', (req, res) => {
mail = ({name : req.body.formName , email: req.body.formMail, message: req.body.formMessage})
console.log(mail);
//res.redirect('/index')
// create reusable transporter object using the default SMTP transport
let transporter = nodemailer.createTransport({
host: "smtp.gmail.com",
port: 465,//also possible on port:25 for gmail but I'm prefer 465
secure: true, // true for 465, false for other ports
auth: {
user: 'xxx@gmail.com', // generated ethereal user
pass: ' xxx ' // generated ethereal password
}
});
// send mail with defined transport object
let mailOptions = ({
from: req.body.mail, // sender address
to: "xxx@gmail.com", // list of receivers
subject: `Vous avez reçu un e-mail de la part de ${req.body.name}`, // Subject line
text: req.body.message, // plain text body
html:
`<h3>Voici le message que vous avez reçu de ${req.body.name}</h3></br>
<h4>E-mail : ${req.body.mail}</h4></br>
<h4>Le message: </h4></br>
<p>${req.body.message}</p>`// html body
});
transporter.sendMail(mailOptions, (err, info) => {
if (err) {
return console.log(err, mailOptions);
}
console.log('Message %s sent: %s', info.messageId, info.response , info.rejected);
res.render('index');
})
transporter.close();
});
Передняя часть:
function addContactUsingXHR() {
formData = {
name : formName.val(),
mail : formMail.val(),
message : formMessage.val()
};
$.ajax({
type : 'POST',
url: " /sendMail ",
data: formData,
success: function() { //Return repsponse
console.log(formData);
form[0].reset(); //hide value form
}
});
}
Я не знаю !!!