SIDAC/diplomas/src/pages/api/send-diploma.js

40 lines
1.2 KiB
JavaScript

import sgMail from "@sendgrid/mail";
sgMail.setApiKey(process.env.SENDGRID_API_KEY);
export default async function handler(req, res) {
if (req.method !== "POST") return res.status(405).end();
// Recibe mensajeCorreo desde el body
const { email, nombre, curso, pdfBase64, mensajeCorreo } = req.body;
try {
await sgMail.send({
to: email,
from: "rviverosgonzalez@outlook.com", // Cambia esto por tu correo verificado en SendGrid
subject: "Tu diploma",
// Usa el mensajeCorreo personalizado, si no viene usa el texto por defecto
text:
mensajeCorreo ||
`Hola ${nombre}, has concluido tu curso ${curso} por lo que adjuntamos tu diploma.`,
attachments: [
{
content: pdfBase64,
filename: `Diploma_${nombre}.pdf`,
type: "application/pdf",
disposition: "attachment",
},
],
});
res.status(200).json({ ok: true });
} catch (error) {
console.error(
"Error enviando el correo:",
error.response?.body || error.message || error
);
res
.status(500)
.json({ error: error.message, details: error.response?.body });
}
}