AcelleMail kollabiert die vielen vendor-spezifischen Bounce-Formen auf ein kleines semantisches Enum. Die Datei app/SendingServers/Webhooks/BounceType.php definiert exakt zwei Cases, die die Blacklist-Entscheidung steuern:
enum BounceType: string
{
case HARD = 'hard';
case SOFT = 'soft';
}Der rohe Vendor-String (Amazon SNS sendet Permanent / Transient / Undetermined; Mailgun, SparkPost und SendGrid haben jeweils eigene Taxonomien) wird separat als BounceReceived::$bounceTypeRaw zu Audit-Zwecken bewahrt. Das Model BounceLog spiegelt das mit drei Konstanten — HARD, SOFT, UNKNOWN —, die an die Legacy-Spalte gekoppelt sind.