es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Hay alguna manera de enviar correos electrónicos diferentes a diferentes personas utilizando nodemailer?

Quiero enviar un correo electrónico al usuario diciendo:


Hola, te has registrado con éxito. Por favor, consulta el siguiente código: 234234

Y enviar un correo electrónico al propietario diciendo:


El usuario 234234 se ha registrado.

            let transporter = nodemailer.createTransport({
                service: 'gmail',
                port: 587,
                secure: false,
                requireTLS: true,
                auth: {
                    user: MIEMAIL,
                    pass: MICONTRASEÑA,
                }
            })
        const generadorAleatorio = Math.floor(100000 + Math.random() * 900000)

        let opcionesCorreo = {
            to: [
                { name: 'Nombre Destinatario 1', address: 'destinatario1@ejemplo.com' },
                { name: 'Nombre Destinatario 2', address: 'destinatario2@ejemplo.com' },
            ], 
            subject: 'Te has registrado con éxito. Por favor, consulta el siguiente código.',
            text: `Tu código es ${generadorAleatorio}`
        }

        transporter.sendMail(opcionesCorreo, (err, info) => {
            if(err) console.log(err)
            else{
                console.log('correo enviado' + info.response)
            }
        })
Hasta ahora he intentado crear una matriz de asunto y texto para que el correo electrónico los envíe en orden, pero en cambio, se enviaron dos veces el mismo correo electrónico al usuario y al propietario.
Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para enviar correos electrónicos separados al usuario y al propietario, puede modificar el objeto mailOptions para incluir campos to y subject separados para cada correo electrónico. Por ejemplo:

    // Enviar correo electrónico al usuario
    let userMailOptions = {
       to: 'user@example.com',
       subject: 'Te has registrado exitosamente',
       text: `Hola, te has registrado exitosamente. Por favor, consulta el código siguiente: ${randomGenerator}`
    }
    
    // Enviar correo electrónico al propietario
    let ownerMailOptions = {
       to: 'owner@example.com',
       subject: `El usuario ${randomGenerator} se ha registrado`,
       text: ''
    }
    
    transporter.sendMail(userMailOptions, (err, info) => {
       if (err) console.log(err)
       else {
          console.log('Correo electrónico al usuario enviado: ' + info.response)
       }
    })
    
    transporter.sendMail(ownerMailOptions, (err, info) => {
       if (err) console.log(err)
       else {
          console.log('Correo electrónico al propietario enviado: ' + info.response)
       }
    })
    

    Este código utiliza objetos mailOptions separados para los correos electrónicos del usuario y del propietario. Para el correo electrónico del usuario, el campo to se establece en la dirección de correo electrónico del usuario, y los campos subject y text se personalizan para el usuario. Para el correo electrónico del propietario, el campo to se establece en la dirección de correo electrónico del propietario, y el campo subject se personaliza con el código del usuario.

    Tenga en cuenta que el campo text para el correo electrónico del propietario se deja en blanco, ya que no hay un mensaje personalizado para incluir.

Comments are closed.