Hallo,
ich fange die Newsletter-Registrierungen/Abmeldungen ab, um weitere Anpassungen zu machen:
public static function getSubscribedEvents(): array
{
return [
NewsletterUnsubscribeEvent::class => 'onNewsletterUnsubscribeEvent',
NewsletterConfirmEvent::class => 'onNewsletterConfirmEvent',
];
}
Beim Abmelden verbleibt die E-Mail Adresse in der Empfängerliste und wird mit „Warten auf Löschung“ gekennzeichnet. Man muss die Adresse im Backend dann manuell löschen.
Ich würde gern die Adresse in onNewsletterUnsubscribeEvent
direkt löschen. Muss ich dass direkt via SQL auf der Datenbank machen, oder gibt es da auch einen sauberen Weg?
Verbleibt das nicht nur auf „Warten auf Löschung“ bis der Empfänger die Löschung bestätigt? Ansonsten könnte man ja fremde E-Mails austragen.
Der Saubere weg ist, indem du das Event abfängst, dass die Löschung bestätigt (vorausgesetzt meine Vermutung stimmt).
Hallo @Max_Shop,
da kommt keine Mail, mit der man das Löschen bestätigen muss. Wahrscheinlich ist der Status „Warten auf Löschung“ nur zum Filtern gedacht. Aus der Doku geht m.E. hervor, dass man die E-Mail Adresse im Backend endgültig löschen soll. So richtig verstehe ich den Sinn dahinter nicht ?
Das mit dem Austragen von fremden E-Mails ist ein interessanter Punkt. Nur sehe ich nicht, dass das dadurch unterbunden wird.
Prinzipiell erscheint mir das Newsletter-Thema sehr rudimentär. Wenn man sich über das Formular registriert und es gibt bereits einen Kunden-Account, so wird dass nicht synchronisiert. Beim Austragen über das Formular erfolgt auch keine Synchronisation, wenn man die Checkbox im Account vorher gesetzt hatte. Entweder verstehe ich es nicht richtig, oder es ist noch nicht sehr ausgereift.
Daher habe ich mir den Subscriber gemacht, um solche Dinge „aufzuräumen“.