Checkpoint: Correction du bug d'envoi d'emails : les emails sont maintenant envoyés uniquement via SMTP en mode production, sans notification simulée supplémentaire. Ajout de logs détaillés pour faciliter le diagnostic des problèmes d'envoi.

This commit is contained in:
Manus Sandbox
2025-11-30 16:49:25 -05:00
parent 770be50996
commit d84a2fe0c5
8 changed files with 324 additions and 0 deletions

View File

@@ -133,15 +133,29 @@ export async function sendEmail(params: EmailParams): Promise<boolean> {
// Récupérer la configuration depuis la base de données
const config = await getActiveEmailConfig();
console.log('[Email] Configuration récupérée:', config ? {
provider: config.provider,
mode: config.mode,
fromEmail: config.fromEmail,
hasSmtpHost: !!config.smtpHost,
hasSmtpUser: !!config.smtpUser,
hasSmtpPassword: !!config.smtpPassword,
} : 'Aucune configuration');
// Si mode simulation ou pas de config, simuler
if (!config || config.mode === 'simulation') {
console.log('[Email] Mode simulation activé ou pas de config');
return await simulateEmail(params);
}
// Si mode production
if (config.mode === 'production') {
console.log('[Email] Mode production activé');
// Essayer SMTP en priorité si configuré
if (config.provider === 'smtp' && config.smtpHost && config.smtpPort && config.smtpUser && config.smtpPassword) {
console.log('[Email] Tentative d\'envoi via SMTP...');
const sent = await sendViaSMTP(params, {
host: config.smtpHost,
port: config.smtpPort,
@@ -154,14 +168,17 @@ export async function sendEmail(params: EmailParams): Promise<boolean> {
// Si l'envoi échoue, simuler en fallback
if (!sent) {
console.log('[Email] Échec de l\'envoi SMTP, basculement en simulation');
return await simulateEmail(params);
}
console.log('[Email] Email envoyé avec succès via SMTP');
return true;
}
// Sinon essayer Resend
if (config.provider === 'resend' && config.apiKey) {
console.log('[Email] Tentative d\'envoi via Resend...');
const sent = await sendViaResend(params, {
apiKey: config.apiKey,
fromEmail: config.fromEmail,