Показать сообщение отдельно
  #1 (permalink)  
Старый 11.12.2018, 18:26
Новичок на форуме
Отправить личное сообщение для mcBiba Посмотреть профиль Найти все сообщения от mcBiba
 
Регистрация: 11.12.2018
Сообщений: 9

Функция отправки email'ов nodemailer
Привет, необходимо сделать функцию отправки email'ов на node.js, если писать без функции то тестовое сообщение создается без ошибок, как переношу все в функцию, то выводит в консоли 'undefined'. Я так понял что надо асинхронно делать, приведу пример с попыткой реализации на асинхронности.

По возможности хотел получить только направление на решение, без готового кода, спасибо !

let express =require("express");
let app = express();
let server = app.listen(2800, ()=> console.log("Работа пошла"));
var nodemailer = require("nodemailer");
 
app.get('/',function(req,res){
  let userPassword = 1;
  let userEmail = 'ga@ya.ru';
  let result = 'Не вызывано';
  let main =  async (userEmail,userPassword) => {
    await nodemailer.createTestAccount(async (err, account) => {
      errortext = err;
      let transporter = nodemailer.createTransport({
        host: 'smtp.ethereal.email',
        port: 587,
        secure: false,
        auth: {
          user: account.user,
          pass: account.pass
        }
      });
      let mailOptions = {
        from: '"Heano" <games.1212@yandex.ru>',
        to: userEmail,
        subject: 'Регистрация вњ”',
        text: 'Твой пароль: '+userPassword,
        html: 'Твой пароль:<b> '+userPassword+'</b>'
      };
      await transporter.sendMail(mailOptions,(error, info) =>{
        if (error) {
          result = "Не отправлено";
        }
        else{
          result = "Отправлено";
        }
        return result;
      });
    });
  }
  main(userEmail,userPassword).then(result=>console.log(result));
});
Ответить с цитированием