Привет, необходимо сделать функцию отправки 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));
});