presseportale/app/Services/Mail/DsnReport.php
Kevin Adametz f9c97ccf2f mail: Rückläufer aus dem Bounce-Postfach lesen (Roadmap 1b.6, Schritt 3)
webklex/laravel-imap als Transport, eigener DSN-Parser nach RFC 3464 auf
der rohen Nachricht: Final-Recipient, Action, Status, Diagnostic-Code und
unser X-Pk-Ref aus der Original-Nachricht. Maßgeblich ist Action —
Zustellbestätigungen sperren niemanden, Freitext-Rückläufer wandern nach
Unparsed vor einen Menschen, Abwesenheitsnotizen nach Ignored.
mail:fetch-bounces alle zehn Minuten; ohne Konto tut es nichts.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 13:55:30 +00:00

21 lines
482 B
PHP

<?php
namespace App\Services\Mail;
use Illuminate\Support\Carbon;
/**
* Ergebnis eines gelesenen Zustellberichts (RFC 3464).
*/
final readonly class DsnReport
{
/**
* @param list<array{email: string, action: string, status: string|null, diagnostic: string|null}> $recipients
*/
public function __construct(
public string $messageId,
public array $recipients,
public ?string $reference,
public ?Carbon $receivedAt,
) {}
}