# 🐛 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 :
```typescript
// 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 :
```typescript
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