Я использую nodemailer и Google reCaptcha для отправки контактной формы.Форма отправляется и электронное письмо отправляется, но затем файл url / ejs страницы контакта зависает и не перенаправляется обратно на домашнюю страницу.Я не получаю никаких сообщений об ошибках в консоли, и стек переходит в console.log («Успешно отправлено письмо»).Вот вывод консоли:
improviser14:~/workspace $ node app.js
Successfully sent mail
Кажется, проблема связана с этим блоком кода, а именно со строкой внутри **:
smtpTransport.sendMail(mailOptions, function(err, info){
if(err) {
console.log(err);
req.flash("error", "Something went wrong... Please try again later!");
res.redirect("/contact");
} else {
console.log("Successfully sent mail");
req.flash("success", "Your email has been sent, we will respond within 24 hours.");
*res.redirect("/");*
}
});
});
Вот код точки входа дляссылка:
var express = require('express'),
app = express(),
serveStatic = require('serve-static'),
bodyParser = require('body-parser'),
express = require("express"),
flash = require("connect-flash"),
nodemailer = require("nodemailer"),
request = require("request"),
router = express.Router(),
contactRoutes = require("./routes/contact");
app.use(bodyParser.urlencoded({extended: false}));
app.use(bodyParser.json());
app.set('view engine', 'ejs');
app.use(express.static('public/'));
app.get('/', function(req, res){
res.render('home');
});
app.get('/contact', function(req, res){
res.render('contactMe');
});
app.use("/contact", contactRoutes);
app.listen(process.env.PORT, process.env.IP);
Заранее благодарим за любую помощь.
ОБНОВЛЕНИЕ: закомментирование следующей строки работает.Теперь я пытаюсь выяснить, почему req.flash не работает.
req.flash("success", "Your email has been sent, we will respond within 24 hours.");