diff --git a/server/emailService.ts b/server/emailService.ts index 8dac7e5..4340629 100644 --- a/server/emailService.ts +++ b/server/emailService.ts @@ -1135,13 +1135,7 @@ export async function sendAttestationEmail(params: {

${params.formationNom}

-

Vous pouvez télécharger votre attestation en cliquant sur le lien ci-dessous :

- -
- - 📄 Télécharger mon attestation - -
+

Vous trouverez votre attestation en pièce jointe de cet email.

Cette attestation certifie votre participation à la formation et peut être utilisée pour votre dossier professionnel.

@@ -1150,10 +1144,29 @@ export async function sendAttestationEmail(params: {

Cordialement,
L'équipe Formation

`; + // Télécharger le PDF depuis l'URL + let pdfBuffer: Buffer; + try { + const response = await fetch(params.pdfUrl); + if (!response.ok) { + throw new Error(`Failed to download PDF: ${response.statusText}`); + } + const arrayBuffer = await response.arrayBuffer(); + pdfBuffer = Buffer.from(arrayBuffer); + } catch (error) { + console.error('[sendAttestationEmail] Error downloading PDF:', error); + throw error; + } + return sendEmail({ to: params.to, subject: `Votre attestation de formation - ${params.formationNom}`, html: await getEmailTemplate(content, 'attestation'), + attachments: [{ + filename: `Attestation_${params.apprenantNom}_${params.apprenantPrenom}.pdf`, + content: pdfBuffer.toString('base64'), + contentType: 'application/pdf', + }], }); } diff --git a/todo.md b/todo.md index db690dc..dc749aa 100644 --- a/todo.md +++ b/todo.md @@ -860,3 +860,4 @@ - [x] Corriger l'erreur SQL "Failed query: insert into attestations" lors de l'upload d'attestation manuelle (ajout de apprenantId et sequenceId) - [x] Corriger l'erreur "refetchInscrits is not defined" lors de l'upload d'attestation manuelle (remplacement par refetchApprenants) - [x] Corriger l'erreur "aucune attestation disponible pour cet apprenant" lors de l'envoi manuel d'une attestation uploadée (vérification de documentUrl ou urlPdf) +- [x] Modifier l'envoi d'attestation pour joindre le PDF directement en pièce jointe au lieu d'un lien de téléchargement