проблема с почтой node.js (ошибка 404 или получение статута 200 ...) - PullRequest
0 голосов
/ 04 февраля 2020

У меня проблема с узлом и 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
    }
});

}

Я не знаю !!!

...