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

376
Vistas
Imágenes incrustadas en correo electrónico con sendgrid

Intento usar una imagen incrustada en mi plantilla, pero no se envía el correo electrónico. La ruta debe ser correcta y no recibo ningún error. Cuando elimino la imagen todo funciona bien y estoy recibiendo el correo.

 const mailController = { sendAnswers: async(certificate) => { try { let pathToAttachment = `./documents/${certificate.company.name}/${certificate.company.name}_${certificate.company.selectedLanguage}.pdf`; let attachment = fs.readFileSync(pathToAttachment).toString("base64"); let answerTemplate = { to: 'invoice@test.de', from: 'no-reply@test.de', // Use the email address or domain you verified above subject: 'Test', text: 'Test Test Test', html: ` <img alt="test" src="cid:logo"> <div style="margin: 20px 20%; padding: 24px; border: 1px solid rgba(0, 0, 0, 0.2); border-radius: 6px;"><h1 style="text-align: center">Thank You! ${certificate.company.name}</h1> <p style="text-align: center">Text<br> More Text More and More Text</p> </div> `, attachments: [ { content: attachment, filename: `${certificate.company.name}_Answers.pdf`, type: "application/pdf", disposition: "attachment" }, { content: fs.readFileSync(`./assets/images/Changemaker-Siegel.png`, { encoding: 'base64'}), filename: "Changemaker", type: "image/png", content_id: "logo", disposition: "inline" } ] }; await sgMail.send(answerTemplate); } catch (error) { console.error(error); if (error.response) { console.error(error.response.body) } } }

}

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

El problema es que el archivo adjunto de su logotipo no se envía como una cadena base 64. Está leyendo el archivo adjunto como si su codificación fuera base 64, que es otra cosa.

Así que tienes:

 content: fs.readFileSync(`./assets/images/Changemaker-Siegel.png`, { encoding: "base64", }),

Pero tu necesitas:

 content: fs.readFileSync(`./assets/images/Changemaker-Siegel.png`).toString("base64"),
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