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

Я создал форму с внешним интерфейсом React, а также с узлом node.js и 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

В последних изменениях в почтовой программе для узлов было введено auth, введите auth. В настоящее время вы передаете пароль и пользователя в auth object. Я внес эти изменения, и почтовая программа начала работать. Pass

`auth: {
api_key: config.mailer.auth.pass

} `

Надеюсь, так и будет.

...