email_suppressions/email_bounces als Zustand und Ereignis-Log; ein MessageSending-Listener streicht gesperrte Empfänger aus JEDER ausgehenden Mail und setzt den Return-Path. Zweiter Aufnahmepfad: SMTP-Ablehnungen im Worker — 5.1.x sperrt den Empfänger, Relay-Ablehnungen zählen für den Circuit Breaker, der den Versand anhält statt gesunde Adressen zu sperren. X-Pk-Ref-Header auf den Mails, API-Meldungen fallen auf die Firmen-E-Mail zurück, der Bounce-Import schreibt in die zentrale Liste. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
12 lines
334 B
PHP
12 lines
334 B
PHP
<?php
|
|
|
|
namespace App\Exceptions;
|
|
|
|
use RuntimeException;
|
|
|
|
/**
|
|
* Der Circuit Breaker hat den Versand angehalten. Im Queue-Worker lässt die
|
|
* Ausnahme den Job fehlschlagen, damit er sich später nachholen lässt —
|
|
* ein still verworfener Magic Link wäre verloren.
|
|
*/
|
|
class MailDeliveryPausedException extends RuntimeException {}
|