Сообщение об успешном завершении модуля Node.js, но электронная почта не получена - PullRequest
2 голосов
/ 17 октября 2019

Я реализовал nodemailer несколько раз назад, но никогда не сталкивался с такой странной проблемой. В основном информация говорит о том, что письмо отправлено, но я так и не получил его. Например, вот вывод от сервера, когда я делаю запрос API к моей конечной точке почтовой рассылки:

{ from: 'mail@gmail.com',
  to: 'my-personal-mail@gmail.com',
  subject: 'Your xx password',
  html:
   '<p>Hi, Name <br>, We received a request to reset your password. <br> Therefore your new password is: <stong>yiH5S0P43M</strong></p>' }
{ accepted: [ 'to-my-personal-mail@gmail.com' ],
  rejected: [],
  envelopeTime: 396,
  messageTime: 689,
  messageSize: 448,
  response: '250 2.0.0 OK  1571325863 25sm1485661lje.58 - gsmtp',
  envelope:
   { from: 'mail@gmail.com',
     to: [ 'my-personal-mail@gmail.com' ] },
  messageId: '<message-id-here@gmail.com>' }

Так что в принципе все выглядит хорошо из информационного сообщения обратного вызова, сообщение об ошибке также является нулевым, но сообщение непройтиНиже приведена моя фактическая реализация кода

var nodemailer = require('nodemailer');

var transporter = nodemailer.createTransport({
  service: "gmail",
  auth: {
    user: 'mymail@gmail.com',
    pass: 'mypassword'
  }
});

const mailOptions = {
from: 'mymail@gmail.com', // sender address
to: `${docs[0].email}`, // list of receivers
subject: 'Your password', // Subject line
html: `<p>Hi, ${docs[0].first_name} <br>, We received a request to reset your password. <br> Therefore your new password is: <stong>${new_password}</strong></p>`
};
 transporter.sendMail(mailOptions, function(err, info) {
 console.log(err, info)
 if (err)
 return res.status(500).send();
 else
 return res.status(200).send({
 status: 'OK',
 message: 'Success.',
  });
});

И, кстати, я включил менее защищенные приложения в своем gmail, опять же, я не впервые внедряю nodemailer, но впервые сталкиваюсь с этой проблемой. ..

...