Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

570
Vistas
Pasar datos del formulario Vue.js al script Nodemailer con Axios

Tengo algunos datos de formulario en uno de mis componentes de Vue que quiero pasar a mi secuencia de comandos de Nodemailer para que los datos puedan enviarse como un correo electrónico. Estoy tratando de usar Axios para hacer esto.

¡Sin embargo, no sucede nada ya que en realidad no sé lo que estoy haciendo!

El script de Nodemailer que configuré funciona cuando ejecuto el archivo en la línea de comandos. Lo que necesito es que se ejecute cuando se envíe el formulario en mi componente Vue.js.

Aquí está mi script de Nodemailer:

 "use strict"; const nodemailer = require("nodemailer"); require('dotenv').config(); // async..await is not allowed in global scope, must use a wrapper async function main() { // create reusable transporter object using the default SMTP transport let transporter = nodemailer.createTransport({ host: "smtp.gmail.com", port: 465, secure: true, // true for 465, false for other ports auth: { user: process.env.user, // generated ethereal user pass: process.env.password, // generated ethereal password }, }); // send mail with defined transport object let info = await transporter.sendMail({ from: process.env.user, // sender address to: process.env.email, // list of receivers subject: 'Translation Suggestion', // Subject line text: "Hello world?", // plain text body html: "<p>Traditional: <br> Simplified: <br> Pinyin: <br> English: " }); console.log("Message sent: %s", info.messageId); // Message sent: <b658f8ca-6296-ccf4-8306-87d57a0b4321@example.com> // Preview only available when sending through an Ethereal account console.log("Preview URL: %s", nodemailer.getTestMessageUrl(info)); // Preview URL: https://ethereal.email/message/WaQKMgKddxQDoou... } main().catch(console.error);

Y la función a la que se llama para enviar en mi componente de formulario:

 <button type="submit" @click="sendEmail" class="form__btn">Suggest</button> sendEmail () { axios.post("localhost:3000/send-translation-suggest-email", () => { this.traditional, this.simplified, this.pinyin, this.english }) }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Para crear una REST-API con express.js , primero inicialice un proyecto node.js ( npm init [-y] ). Luego instala express.js ( npm install express ).

Cuando tenga su configuración, puede crear un archivo index.js , el servidor. En él, tendrás que adaptar el contenido del ejemplo express Hello World , para que la ruta que acepte no sea GET / sino POST /send-translation-suggest-email . Luego, asegúrese de que su servidor escuche el puerto 3000 (como especificó en el código del lado del cliente).

En el oyente de POST /send-translation-suggest-email , puede llamar al método main desde su otro archivo (asegúrese de importar el archivo correctamente, con la sintaxis require de node.js ).

Luego, puede llamar al servidor backend desde el frontend como desee.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda