Myślę, że brakuje tu czegoś bardzo prostego. Mam prostą, jednostronicową aplikację node.js, która używa nodemailer do wysyłania dowolnych danych formularzy do mojej skrzynki odbiorczej. złożyćAplikacja do wysyłania danych formularzy do mojej skrzynki odbiorczej nie działa poprawnie w Firebase
Moi index.js:
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var nodemailer = require('nodemailer');
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
var transporter = nodemailer.createTransport({
service: 'gmail',
auth: {
user: '[email protected]',
pass: 'mypassword'
}
});
app.use(express.static('public')); //public folder with my html files
app.get('', function (req, res) {
res.sendFile(__dirname + "/");
})
app.post('/', function (req, res) {
response = {
name: req.body.name,
email: req.body.email,
message: req.body.message
};
var mailClient = {
from: '[email protected]',
to: '[email protected]',
subject: `Message from ${response.name}`,
text: 'MyMessage'
};
transporter.sendMail(mailClient, function (error, info) {
if (error) {
console.log(error); //not happening
} else {
res.redirect("/success.html"); //also not happening
}
});
})
var server = app.listen(80, function() {
var host = server.address().address
var port = server.address().port
console.log("App listening at http://%s:%s", host, port)
})
Gdy uruchomię to na moim komputerze lokalnym, używając npm start
w katalogu głównym, aplikacja działa perfekcyjnie na localhost
. Nodemailer działa poprawnie; kiedy przesyłam, dane mojego formularza są wysyłane do mnie pocztą elektroniczną, a następnie przekierowuję do strony z wynikami.
Jednak, gdy wdrażam to w Firebase, wygląda na to, że część nodemailer nie działa. Strona ładuje się z moimi statycznymi plikami, ale kiedy próbuję przesłać cokolwiek za pośrednictwem formularza, strona po prostu się odświeża (jak wtedy, gdy masz przycisk przesyłania z czystym html), zamiast przekierowywać mnie na moją stronę sukcesu i przesyłać dane pocztą e-mail.
Czy jest coś, co muszę zmienić w moim kodzie, aby działał z firebase?
Co znajduje się w logach na konsoli? Na jakim planie płatności jest twój projekt? –
Jeśli mówisz o konsoli mojej witryny, nie otrzymuję żadnych błędów. Jestem na planie darmowej płatności (iskra), – user7548189
Jaka jest twoja konfiguracja nodemailer? I mówię o twoich dziennikach funkcji projektu Firebase, jak widać w konsoli Firebase. –