При регистрации пользователя, отправляю ему извещение на электронную почту. Для этого использую модуль 'nodemailer'. Как сделать, чтобы в app.js при вызове mailer, проверялось условие: Если письмо успешно отправлено, сделать res.send('Регистрация успешно выполнена') ?
Код App.js:
const express = require('express');
var app = express();
const mailer = require('../app/module/sendmail');
const port = process.env.PORT || 8000;
app.post('/signup, function (req, res) {
mailer('user_email@mail.ru', 'passwd');
})
app.listen(port);
console.log('NodeJS слушает порт: ' + port);
Ниже код модуля Sendmail.js:
const nodemailer = require('nodemailer');
const morgan = require("morgan");
var transporter = nodemailer.createTransport({
service: 'gmail',
auth: {
user: process.env.GMAIL_USER,
pass: process.env.GMAIL_PASS
}
});
module.exports = function(email, passwd){
var mailOptions = {
from: process.env.GMAIL_USER,
to: email,
subject: 'Благодарим за регистрацию',
html: `<p>Вы успешно зарегистрированы!</p>
<p>Ваш логин: <b>${email}</b><br>
Пароль: <b>${passwd}</b></p>`
};
transporter.sendMail(mailOptions, function(error, info){
if(error){
console.log('Ошибка отправки на почту извещения');
} else {
console.log('Обработанно');
}
});
}
Проверка должна срабатывать именно в app.js, а не в подключенном модуле Sendmail.js.