# Kann man die Tabelle "newsletter\_recipient" gefahrlos bereinigen (Einträge per SQL löschen)?

**URL:** https://forum.shopware.com/t/kann-man-die-tabelle-newsletter-recipient-gefahrlos-bereinigen-eintraege-per-sql-loeschen/97261
**Category:** Shopware 6 (German)
**Created:** [24. November 2022 um 11:10 UTC](https://forum.shopware.com/t/kann-man-die-tabelle-newsletter-recipient-gefahrlos-bereinigen-eintraege-per-sql-loeschen/97261 "2022-11-24T11:10:58Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![verpacking](https://avatars.discourse-cdn.com/v4/letter/v/a183cd/32.png) [@verpacking](https://forum.shopware.com/u/verpacking)
#### Post date: [24. November 2022 um 11:10 UTC](https://forum.shopware.com/t/kann-man-die-tabelle-newsletter-recipient-gefahrlos-bereinigen-eintraege-per-sql-loeschen/97261/1 "2022-11-24T11:10:58Z")

</div>

Bei mehreren Angriffen ist es Bots trotz captcha gelungen, ca. 300.000 Spam-Anmeldungen in die DB zu schieben (die OptIn-Mails wurden automatisch wegen Limit-Überlauf geblockt).  
Die Tabelle „newsletter\_recipient“ sieht dementsprechend übel aus - von der Darstellung im Admin ganz zu schweigen.

Ich konnte inzwischen verifizieren, dass alle Eintragungen, die als Status „notSet“ haben, Spam-Einträge sind.

Kann ich diese Einträge mit z.B. " WHERE status=‚notSet‘ " gefahrlos löschen - oder gibt es da irgendwelche Querverweise von/zu anderen Tabellen, die dadurch kaputt gehen würden??

Ich weiß - es gibt ein Plugin, das das diese Funktion hat (ein Plugin, das die Formulardaten z.b. auf BadWords prüft, wär mir lieber). Trotzdem hoffe ich, dass mir die Frage jemand beantworten kann.

TIA  
Dieter

---

<div class="post-metadata">

### Author: ![Max\_Shop](https://avatars.discourse-cdn.com/v4/letter/m/58f4c7/32.png) [@Max\_Shop](https://forum.shopware.com/u/Max_Shop)
#### Post date: [24. November 2022 um 11:38 UTC](https://forum.shopware.com/t/kann-man-die-tabelle-newsletter-recipient-gefahrlos-bereinigen-eintraege-per-sql-loeschen/97261/2 "2022-11-24T11:38:48Z")

</div>

Es gibt mögliche Querverweise, siehe: [platform/NewsletterRecipientDefinition.php at 264ca8687aa3e441dcddadd8d53c2edbeb98a987 · shopware/platform · GitHub](https://github.com/shopware/platform/blob/264ca8687aa3e441dcddadd8d53c2edbeb98a987/src/Core/Content/Newsletter/Aggregate/NewsletterRecipient/NewsletterRecipientDefinition.php)

---

<div class="post-metadata">

### Author: ![verpacking](https://avatars.discourse-cdn.com/v4/letter/v/a183cd/32.png) [@verpacking](https://forum.shopware.com/u/verpacking)
#### Post date: [24. November 2022 um 12:02 UTC](https://forum.shopware.com/t/kann-man-die-tabelle-newsletter-recipient-gefahrlos-bereinigen-eintraege-per-sql-loeschen/97261/3 "2022-11-24T12:02:10Z")

</div>

Hm… da werden zwar extern Referenzen wie Sprache, Verkaufskanal oder Anrede eingebunden, aber eine Verknüpfung nach außen scheint es nur mit „NewsletterRecipientTagDefinition“ zu geben (heißt in der DB so ähnlich 😃 es gibt ja nur 2 Newsletter-relevante Tabellen). Die Tabelle ist aber leer, trotz vieler „echter“ registrierten (und bestätigter) Kunden. Keine Ahnung, wozu die gut ist.

---

<div class="post-metadata">

### Author: ![Max\_Shop](https://avatars.discourse-cdn.com/v4/letter/m/58f4c7/32.png) [@Max\_Shop](https://forum.shopware.com/u/Max_Shop)
#### Post date: [24. November 2022 um 13:01 UTC](https://forum.shopware.com/t/kann-man-die-tabelle-newsletter-recipient-gefahrlos-bereinigen-eintraege-per-sql-loeschen/97261/4 "2022-11-24T13:01:03Z")

</div>

Die Tabellen heißen eigentlich alle wie die Entities. Wenn nichts manuell geändert wurde oder per Flow automatisiert hinzugefügt, dann werden die anderen Tabellen vermutlich leer sein.

Alternativ einfach kurz ein Script schrieben, dass per Repository die Daten löscht, dann bist du 100% auf der sicheren Seite.

---

<div class="post-metadata">

### Author: ![verpacking](https://avatars.discourse-cdn.com/v4/letter/v/a183cd/32.png) [@verpacking](https://forum.shopware.com/u/verpacking)
#### Post date: [24. November 2022 um 14:24 UTC](https://forum.shopware.com/t/kann-man-die-tabelle-newsletter-recipient-gefahrlos-bereinigen-eintraege-per-sql-loeschen/97261/5 "2022-11-24T14:24:03Z")

</div>

Tja… ich kenn mich zwar einigermaßen mit PHP und SQL aus, aber bei Symfony hab ich inzwischen das Handtuch geworfen - bei dem Dschungel aus Services, Routes, Context, Events und Co. bin ich raus.  
Ich hab zwar auch schon ein, zwei Miniplugins geschrieben - aber daran, dass ich gerade erstmal Googeln musste, was ein Repository in Symfony ist, siehst Du, dass das wirklich Minimini-Plugins sind! 😂

---

<div class="post-metadata">

### Author: ![Max\_Shop](https://avatars.discourse-cdn.com/v4/letter/m/58f4c7/32.png) [@Max\_Shop](https://forum.shopware.com/u/Max_Shop)
#### Post date: [24. November 2022 um 14:47 UTC](https://forum.shopware.com/t/kann-man-die-tabelle-newsletter-recipient-gefahrlos-bereinigen-eintraege-per-sql-loeschen/97261/6 "2022-11-24T14:47:02Z")

</div>

> **[Reading data](https://developer.shopware.com/docs/guides/plugins/plugins/framework/data-handling/reading-data)**

und dann noch delete, mehr ist es nicht wirklich.

---

<div class="post-metadata">

### Author: ![verpacking](https://avatars.discourse-cdn.com/v4/letter/v/a183cd/32.png) [@verpacking](https://forum.shopware.com/u/verpacking)
#### Post date: [24. November 2022 um 14:57 UTC](https://forum.shopware.com/t/kann-man-die-tabelle-newsletter-recipient-gefahrlos-bereinigen-eintraege-per-sql-loeschen/97261/7 "2022-11-24T14:57:05Z")

</div>

Okay, mit dem Tutorial hab ich tatsächlich schon mal gearbeitet, ohne es allerdings wirklich zu verstehen (Aufbau eines Dropdowns mit den Lieferländern analog dem Versandkostenrechner im Warenkorb; funktioniert sogar und agiert bei uns als OSS-Modul^^).  
Dann werd ich mir das Morgen nach der 2. Tasse Kaffe nochmal in Ruhe anschauen.

Danke für Deine Tipps!
