Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

276
Visualizações
React node js formulario de contacto error 404 en producción

Creé un formulario de contacto para mi aplicación de reacción que funciona en localhost pero una vez que lo implemento ya no funciona. He estado probando diferentes URL para la publicación, con o sin puerto, pero cada vez arroja un error.

Tal como está ahora, obtengo esto en la consola:

Error: la solicitud falló con el código de estado 404 en e.exports (createError.js:16) en e.exports (settle.js:17) en XMLHttpRequest.x (xhr.js:66)

Así envío el correo:

 axios({ method: 'POST', url: 'https://url.com/send', data: formData }).then((response) => { if (response.data.status === 'success') { toast.success( <div> Success </div> ); resetForm(); } else if (response.data.status === 'fail') { toast.error( <div> Error </div> ); } });

Este es mi servidor:

 var express = require('express'); var cors = require('cors'); var router = express.Router(); var nodemailer = require('nodemailer'); app.use(express.static('build')); app.get('*', (req, res) => { req.sendFile(path.resolve(__dirname, 'build', 'index.html')); }); var transport = { service: 'gmail', auth: { user: 'my_email@gmail.com', pass: 'my_password' } }; var transporter = nodemailer.createTransport(transport); transporter.verify((error, success) => { if (error) { console.log(error); } else { console.log('Server is ready to take messages'); } }); router.post('/send', (req, res, next) => { var firstName = req.body.firstName; var lastName = req.body.lastName; var email = req.body.email; var phoneNumber = req.body.phoneNumber; var subject = req.body.subject; var message = req.body.message; var dataConsent = req.body.dataConsent; var content = `Name:\n${ firstName + ' ' + lastName }\n\n\nEmail:\n${email}\n\n\nPhone Number:\n${phoneNumber}\n\n\nSubject:\n${subject}\n\n\nMessage:\n${message}\n\n\nConsent:\n${dataConsent}`; var mail = { from: email, to: 'test@gmail.com', subject: subject, text: content }; transporter.sendMail(mail, (err, data) => { if (err) { res.json({ status: 'fail' }); } else { res.json({ status: 'success' }); } }); }); const app = express(); app.use(cors()); app.use(express.json()); app.use('/', router); app.listen(3002);

Y en package.json ejecuto este script al inicio:

 "start": "node src/server.js",
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

var express = require('express'); const app = express(); // app comes after express require var cors = require('cors'); var router = express.Router(); var nodemailer = require('nodemailer'); app.use(express.static('build')); app.get('*', (req, res) => { req.sendFile(path.resolve(__dirname, 'build', 'index.html')); }); var transport = { service: 'gmail', auth: { user: 'my_email@gmail.com', pass: 'my_password', }, }; var transporter = nodemailer.createTransport(transport); transporter.verify((error, success) => { if (error) { console.log(error.message); } else { console.log('Server is ready to take messages'); } }); router.post('/contact',async (req, res, next) => { var firstName = req.body.firstName; var lastName = req.body.lastName; var email = req.body.email; var phoneNumber = req.body.phoneNumber; var subject = req.body.subject; var message = req.body.message; var dataConsent = req.body.dataConsent; var content = `Name:\n${ firstName + ' ' + lastName }\n\n\nEmail:\n${email}\n\n\nPhone Number:\n${phoneNumber}\n\n\nSubject:\n${subject}\n\n\nMessage:\n${message}\n\n\nConsent:\n${dataConsent}`; var mail = { from: email, to: 'test@gmail.com', subject: subject, text: content, }; const info = await transporter.sendMail(mail); return res.send({info}); }); // const app = express(); app is executed in wrong place app.use(cors()); app.use(express.json()); app.use('/', router); app.listen(3002);

Ha cometido errores este archivo. const app = express(); viene después de var express = require('express');

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda