mail: adressbezogene Abmeldung fuer Empfaenger ohne Konto (Roadmap 1d.3)

Der Abmeldelink in API-Benachrichtigungen zeigte auf das Konto des
Einlieferers - ein Klick des Pressekontakts haette connektar abgemeldet.
Jetzt traegt der Link die Empfaengeradresse (signiert), der Zustand liegt
als Unsubscribed in der Sperrliste. Anmeldelinks, die die Person selbst
anfordert, gehen weiter durch; harte Bounces sperren alles.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Kevin Adametz 2026-09-16 14:35:47 +00:00
parent 0692d892e0
commit 35db30e019
15 changed files with 362 additions and 20 deletions

View file

@ -32,6 +32,20 @@ trait Unsubscribable
]);
}
/**
* Abmeldung für Empfänger ohne Konto (Roadmap 1d.3): Pressekontakt oder
* Firmen-E-Mail einer API-Meldung. Der Link trägt die Adresse selbst —
* ein Konto-Link würde den Einlieferer abmelden, nicht den Empfänger.
*/
protected function configureAddressUnsubscribe(string $email, EmailNotificationType $type): void
{
$this->notificationType = $type;
$this->unsubscribeUrl = URL::signedRoute('email-preferences.unsubscribe-address', [
'email' => mb_strtolower(trim($email)),
'type' => $type->value,
]);
}
public function headers(): Headers
{
return new Headers(text: array_filter([