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

265
Vistas
nodejs sending email with wrong body text

I am working with a javascript file that I am serving through NODE. It will take in input and then serialize it, and send an email. The code is:

let aws = require('aws-sdk'),
        ses = new aws.SES({ region: 'us-east-1' }),
        makeParams = request => {
            var emailBody = 'dooba dooba';
            console.log(request.body)
            for (var a in request.body) {
                // console.log(a);
                emailBody +=' test'
                console.log(emailBody);
                // emailBody += `${a}: ${request.body.a}<br />`
            }

            return {
                Destination: { /* required */
                    ToAddresses: [
//                      'xxxxx@gmail.com'
                        'xxxxx@gmail.com'
                    ]
                },
                Message: { /* required */
                    Body: { /* required */
                        Html: {
                            Data: emailBody, /* required */
                            Charset: 'UTF-8'
                        },
                        Text: {
                            // Data: emailBody.replace(/<br \/>/, "\r\n"), /* required */
                            Data: emailBody,
                            Charset: 'UTF-8'
                        }
                    },
                    Subject: { /* required */
                        Data: 'New Opportunity Submitted', /* required */
                        Charset: 'UTF-8'
                    }
                },
                Source: 'xxxxx@gmail.com'
                
            }
        },
        send = request => {
            return ses.sendEmail(makeParams(request)).promise();
        };

The script works as far as it takes an input and sends out the email, the problem is what it sends to the email. When I run it through node this is the output:

Welcome to Node.js v14.17.6.
Type ".help" for more information.
> let b = require('./app/bindings.js')
undefined
> b.send(b.makeParams({body: {foo:'bar',bar:'baz'}}))
{ foo: 'bar', bar: 'baz' }
loopy
loopy
outside: dooba dooba test test
sent
undefined
outside: dooba dooba
Promise { <pending> }
> .exit

The text that should be being sent to the email is the variable emailBody. It should be taking that and then appending to it, the input from send(b.makeParams(). In my code, I verified that the loop was running by logging "loopy" and then logging the final output.

It then should send that, which I see when it logs "send"; however I do not understand why it is going through again but skipping the loop. This is evidenced by the second "outside" which is after the "sent". So when I get the email instead of the body text displaying "dooba dooba test test" I get "dooba dooba".

about 4 years ago · Juan Pablo Isaza
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