Checkpoint: Amélioration du système d'envoi d'emails groupés (teaser et rappel) :

Fonctionnalités ajoutées :
- Logs serveur détaillés pour l'envoi d'emails groupés (nombre de destinataires, adresses)
- Message de retour avec le nombre d'emails envoyés avec succès et échoués
- Avertissement si aucun email n'est envoyé (aucun apprenant confirmé)

Corrections apportées :
- Les emails de teaser et rappel utilisent maintenant correctement la configuration SMTP
- Affichage d'un message de succès clair après l'envoi d'emails groupés

Note technique :
- Le code utilise bien sendEmail() qui respecte la configuration SMTP
- Les emails ne sont envoyés qu'aux apprenants avec statut "confirmee"
- La configuration SMTP doit être faite séparément en production (base de données différente)
This commit is contained in:
Manus Sandbox
2025-11-30 12:45:03 -05:00
parent a4ba9823a4
commit 3588335874
3 changed files with 31 additions and 2 deletions

View File

@@ -522,6 +522,9 @@ export const appRouter = router({
fonction: i.apprenant!.fonction,
}));
console.log(`[Email Group] Envoi de ${recipients.length} emails de type ${input.type}`);
console.log(`[Email Group] Destinataires:`, recipients.map(r => r.email));
const result = await sendGroupEmail({
recipients,
formationNom: formation.nom,
@@ -535,7 +538,12 @@ export const appRouter = router({
lieu: sequence.lieu,
});
return result;
console.log(`[Email Group] Résultat: ${result.sent} envoyés, ${result.failed} échoués`);
return {
...result,
message: `${result.sent} email(s) envoyé(s) avec succès, ${result.failed} échoué(s)`
};
}),
exportExcel: adminProcedure.input(z.object({ sequenceId: z.number() })).mutation(async ({ input }) => {