env('MAIL_RETURN_PATH'), 'reference_header' => 'X-Pk-Ref', // Umsetzungsaudit 29.09.2026, R-04: Das Gate signiert X-Pk-Ref je // Empfänger (HMAC). Ein harter Bounce sperrt nur mit gültiger Signatur // für genau diese Adresse. Leer = aus APP_KEY abgeleitet. 'signing_key' => env('BOUNCE_SIGNING_KEY'), // Bounce OHNE Signatur (vor der Umstellung versendet, Freitext-Bericht // des Relays), hart wie weich: `policy` nur protokollieren (Standard, // zur Sichtung im Admin), `soft` zählt auf den Schwellwert — dann sperren // drei gefälschte Berichte in sieben Tagen jede Adresse. Hart wird ein // unsignierter Bericht nie (Umsetzungsaudit 02.10.2026, O01). 'unsigned_kind' => env('BOUNCE_UNSIGNED_KIND', 'policy'), // Aufbewahrung der Rückläufer-Ereignisse (`email_bounces`: Adresse, // Diagnosetext, Referenz) — Umsetzungsaudit 29.09.2026, R-10. Gelöscht // von `conversion:purge-events`; 395 Tage wie die übrigen Ereignis- // protokolle (DSE 5a). Die Sperrliste selbst bleibt bestehen. 'retention_days' => (int) env('BOUNCE_RETENTION_DAYS', 395), 'soft' => [ 'threshold' => (int) env('BOUNCE_SOFT_THRESHOLD', 3), 'window_days' => (int) env('BOUNCE_SOFT_WINDOW_DAYS', 7), ], 'domain_check' => [ // Wie lange ein Befund gilt, bis erneut gefragt wird. Ein positiver // Befund altert langsam, ein negativer schnell — Domains werden // repariert, und ein DNS-Befund darf nie zur Dauersperre werden. 'ttl_days' => (int) env('MAIL_DOMAIN_TTL_DAYS', 30), 'negative_ttl_days' => (int) env('MAIL_DOMAIN_NEGATIVE_TTL_DAYS', 3), 'retry_minutes' => (int) env('MAIL_DOMAIN_RETRY_MINUTES', 15), ], 'circuit_breaker' => [ 'threshold' => (int) env('MAIL_CIRCUIT_THRESHOLD', 5), 'window_minutes' => (int) env('MAIL_CIRCUIT_WINDOW_MINUTES', 15), 'pause_minutes' => (int) env('MAIL_CIRCUIT_PAUSE_MINUTES', 30), ], ];