nodemailer не отправляет электронную почту на сервер? - PullRequest
0 голосов
/ 20 мая 2019

Итак, я создал форму с передним концом реакции и узлом js и backmand nodemailer. Я пытаюсь отправить эти данные по электронной почте. Я могу отправить его на сервер при этом получено отлично, однако, я получаю проблему при отправке электронного письма, так как ошибка «почта не отправлена» выполняется из функции Transporter.sendMail, и я не уверен почему.

Хотел бы получить помощь. Пожалуйста, смотрите код ниже для моего сервера. Я очевидно удалил свои данные аутентификации в целях безопасности.

ошибка журнала консоли:

[0] не отправлено

const nodemailer = require('nodemailer');
const path = require('path');
const express = require("express");
const app = express();
const port = 5000;
const cors = require("cors");
app.use(cors());
const bodyParser = require("body-parser");
app.use(bodyParser.json()); // to support JSON-encoded bodies
app.use(
  bodyParser.urlencoded({
    // to support URL-encoded bodies
    extended: true
  })
);

const transporter = nodemailer.createTransport({
  service: 'gmail',
  auth: {
    user: 'email',
    pass: 'password',

  }
});




app.get("/home", (req, res) => {
    console.log("Hello from .get /home", req.body.generalDetails, req.body.firstName, req.body.mName );

})






app.post("/home", (req, res) => {

  var mailOptions = {
                from: 'email',
                to: 'email',
                subject: 'Hello',
                text: req.body.generalDetails,

            }

            transporter.sendMail(mailOptions, function(err, res) {
                if (err) {
                    console.log('Mail not sent');
                } else {
                    console.log('Mail sent');
                }
            });

  let data = [{
    //page one data
    generalDetails: req.body.generalDetails,
    fName: req.body.fName,
    mName: req.body.mName,
    lName: req.body.lName,
    email: req.body.email,

   }];

   res.json(data);
 }

);



app.listen(port, () => `Server running on port ${port}`);

1 Ответ

0 голосов
/ 20 мая 2019

Я бы хотел изменить некоторые фрагменты кода, как показано ниже:

const smtpTransport = nodemailer.createTransport({
  service: "Gmail", // <======
  auth: {
    user: YOUR_GMAIL_ADDRESS,
    pass: YOUR_GMAIL_PASSWORD
  }
});
...
let mailOptions = {
  from: FROM_ADDRESS,
  to: TARGET_MAIL_ADDRESS,
  subject: 'Hello',
  text: req.body.generalDetails,
  html: req.body.generalDetails, // <======
};
smtpTransport.sendMail(mailOptions, function (err) {
  if (err) {
    // failed
  } else {
    // sent
  }
});
...

PS: почему бы вам не поделиться журналом ошибок, если он все еще продолжается?

...