AcelleMail rabat les multiples formes de bounce spécifiques aux vendors sur un petit enum sémantique. Le fichier app/SendingServers/Webhooks/BounceType.php définit exactement deux cases qui pilotent la décision de blacklist :
enum BounceType: string
{
case HARD = 'hard';
case SOFT = 'soft';
}La chaîne brute du vendor (Amazon SNS envoie Permanent / Transient / Undetermined ; Mailgun, SparkPost, SendGrid ont chacun leur propre taxonomie) est préservée séparément sous BounceReceived::$bounceTypeRaw pour l'audit. Le modèle BounceLog miroite ensuite cela avec trois constantes — HARD, SOFT, UNKNOWN — indexées sur la colonne historique.