espace-paie-odentas/GUIDE_ERREURS_EMAILS.md
2025-10-12 17:05:46 +02:00

3.5 KiB

🐛 Guide de résolution des erreurs d'envoi d'emails groupés

Erreur : "Missing '<'" - CORRIGÉ

Problème identifié :

L'erreur "Missing '<'" était causée par un mauvais formatage de l'adresse email source dans l'API SES.

Solution appliquée :

// Avant (incorrect)
Source: `Espace Paie Odentas <${fromEmail}>`,

// Après (corrigé)
let sourceEmail = fromEmail;
if (fromEmail && !fromEmail.includes('<')) {
  sourceEmail = `Espace Paie Odentas <${fromEmail}>`;
} else {
  sourceEmail = fromEmail;
}
Source: sourceEmail,

📋 Autres erreurs courantes et solutions

1. Adresse email invalide

  • Cause : Format d'email incorrect (manque @, domaine invalide, espaces)
  • Solution : Validation ajoutée côté client et serveur
  • Prévention : Seuls les emails confirmés et valides sont affichés

2. Quota journalier dépassé

  • Cause : Limite AWS SES atteinte (200 emails/jour par défaut)
  • Solution : Attendre 24h ou demander une augmentation de quota
  • Prévention : Surveiller le nombre d'emails envoyés

3. Limite de débit dépassée

  • Cause : Trop d'emails envoyés simultanément (limite SES : 14/seconde)
  • Solution : L'API limite automatiquement à 12 emails par lot avec pause de 1s
  • Prévention : Ne pas cliquer plusieurs fois sur "Envoyer"

Performance optimisée :

  • Débit : 12 emails par seconde (sous la limite de 14/sec)
  • Throughput : ~720 emails par minute
  • Sécurité : Marge de 2 emails/sec pour éviter les dépassements

4. Configuration SES manquante

  • Cause : Variable d'environnement AWS_SES_FROM non définie
  • Solution : Vérifier la configuration des variables d'environnement
  • Prévention : Test automatique au démarrage

🔧 Améliorations apportées

Validation côté client :

const isValidEmail = user.email && 
                    user.email.includes('@') && 
                    user.email.includes('.') && 
                    user.email.length > 5 &&
                    !user.email.includes(' ');

Gestion d'erreurs améliorée :

  • Messages d'erreur plus clairs et spécifiques
  • Distinction entre les types d'erreurs
  • Conseils contextuels pour résolution

Interface utilisateur :

  • Warning détaillé en cas d'échecs
  • Affichage des statuts en temps réel
  • Possibilité d'annulation en cours d'envoi

📊 Monitoring et logs

Logs automatiques :

  • Nombre total d'emails traités
  • Taux de succès/échec
  • Détails des erreurs par email
  • Horodatage précis

Traçabilité :

  • Chaque envoi est enregistré en base
  • Possibilité de retrouver les échecs
  • Statistiques d'utilisation

🚀 Bonnes pratiques

  1. Avant l'envoi :

    • Vérifier le contenu HTML (aperçu)
    • Tester avec 1-2 destinataires d'abord
    • S'assurer que le sujet est clair
  2. Pendant l'envoi :

    • Ne pas fermer le navigateur
    • Surveiller les erreurs en temps réel
    • Utiliser "Annuler" si nécessaire
  3. Après l'envoi :

    • Vérifier les statistiques finales
    • Noter les emails en échec pour retry
    • Contrôler la réception sur quelques comptes

Limites techniques

  • Maximum : 100 destinataires par envoi
  • Débit : 12 emails simultanés par lot (limite SES : 14/sec)
  • Performance : ~720 emails/minute
  • Taille : Contenu HTML < 10MB
  • Quota : Selon configuration AWS SES

🆘 En cas de problème persistant

  1. Vérifier les logs AWS SES
  2. Contrôler les variables d'environnement
  3. Tester avec un email simple
  4. Contacter l'administrateur système