Löschen von Adressen

PHP Newsletter Software/Script und E-Mail-Marketing Software SuperWebMailer

Moderator: mirko

Antworten
Benutzeravatar
mirko
Beiträge: 23082
Registriert: 25.11.2001, 15:14
Wohnort: Leipzig
Kontaktdaten:

Beitrag von mirko »

Wenn ich sehr viel Zeit habe, muss ich mal über die temporäre Tabelle nachdenken. Ist natürlich aufwändig alles anzupassen, so dass er für den Versand die temporäre Tabelle verwendet aber für die ganzen IDs usw. muss er die Original-Tabelle natürlich verwenden, da kann man gut Fehler dabei machen.
volkmar1
Beiträge: 139
Registriert: 04.03.2009, 10:30

Beitrag von volkmar1 »

Klar packt das Skript das, mein Server auch. Nur verdoppelt sich die Versandzeit, weil die Aufbereitung länger dauert.

Ich komme gezwungenermaßen auch ohne Gruppen aus, aber wenn das schneller werden würde und nicht wesentlich langsamer als der Versand ohne Gruppenselektion, das wäre schon was.
Benutzeravatar
mirko
Beiträge: 23082
Registriert: 25.11.2001, 15:14
Wohnort: Leipzig
Kontaktdaten:

Beitrag von mirko »

Was passiert denn bei mehr als 100.000 Empfängern und den Gruppen? Normalerweise müsste er die doch auch bei 100.000 Empfängern leicht selektieren können. Klar ist natürlich, dass die Abfragen mit Gruppen immer länger dauern müssen, weil er halt die Tabellen verknüpfen muss, um die Gruppenzugehörigkeit herzustellen. Vielleicht wäre es auch besser die Gruppen wieder komplett rauszunehmen und nur noch getrennte Mailinglisten zu erlauben, nur alle \"lieben\"die Gruppen so sehr.
volkmar1
Beiträge: 139
Registriert: 04.03.2009, 10:30

Beitrag von volkmar1 »

Einen Unterschied sehe ich schon, der in meinen Augen zumindest gravierend wäre.

Auf diese Weise bekäme man das Problem mit der dramatisch einbrechenden Versand - bzw. ERstellungsgeschwindigkeit bei Selektierung nach Gruppen in großen Mailinglisten in den Griff. Die Selektion wäre im Vorfeld schon erledigt und würde den Versand nicht mehr behindern.

Im Moment ist es so, dass ich bei Mailingliste > 100000 nicht vernünftig nach Gruppen selektieren kann mit der Folge, unterschiedliche Mailinglisten vorhalten zu müssen mit der weiteren Folge, eine Gesamtstatistik außerhalb des Skripts zusätzlich erstellen zu müssen. Das ist m.E. eine Frage der Usability.

Und mysql kann man auch Beine machen, aber zugegeben mit den Standardeinstellungen ist es eine ziemliche Schnecke. Aber selbst die Standardeinstellungen reichen bei mir für Listen um die 150000 aus.
Benutzeravatar
mirko
Beiträge: 23082
Registriert: 25.11.2001, 15:14
Wohnort: Leipzig
Kontaktdaten:

Beitrag von mirko »

Ja ja die erstellt die Mails alle live.

Wenn man einstellt 200 Mails vorbereiten,

* dann führt er seine SQL-Abfrage aus um alle gültigen 200 Empfänger zu bekommen (nicht die in Blocklisten).

* beim Live-Versand werden die E-Mails für jeden Empfänger erstellt und gleich versendet, falls er die Anzahl Empfänger auch in der Zeit schafft

* beim Versand per CronJob landen die Empfänger-IDs in der Ausgangstabelle und danach werden die Mails erstellt und rausgeschickt.

Die ganzen Mails in eine temporäre DB zu schreiben wäre vielleicht performanter, das müsste man testen, anderseits könnte der Speicherplatz nicht ausreichen z.B. 1000 Mails á 1 MB sind auch 1 GByte. MySQL selbst ist auch nicht gerade flink bei großen Datenmengen, daher denke ich, dass es kaum einen Unterschied machen wird.
volkmar1
Beiträge: 139
Registriert: 04.03.2009, 10:30

Beitrag von volkmar1 »

Original von Mirko:
Nee tut mir leid in die Blockliste kommen die Bounces nicht, das wird sonst beim E-Mail-Versand total langsam, wenn irgendwann mal 1000te E-Mail-Adressen in der Blockliste sind. Ich habe mittlerweile viele Server und Webpräsenzen bei der Installation oder Problemen gesehen, teilweise ist das bei rund 10.000 Empfängern alles so lahm und dann noch alles in die Blockliste, das geht auf keinen Fall.

Wenn du das unbedingt willst, dann lässt du die Bounces nur deaktivieren. z.B. 1x pro Monat lässt die deaktivierten Anzeigen, in die Blockliste aufnehmen und danach kannst diese auch löschen oder lässt diese gleich in der Mailingliste, dann werden diese auch nicht neu importiert.
Mache ich ohnehin schon so, war halt nur die Frage, ob man das nicht vereinfachen könnte.

Andere Frage: Habe ich das jetzt richtig verstanden, dass das Skript die zu versendenden Mails zur Laufzeit generiert, also mit allen innerjoins und dem ganzen Pipapo? Wäre es nicht einfacher und vor allem performanter, das ganze Zeug in temporäre DB beim Start zu schreiben und dann einfach nur rauszumailen?

Gruß, Volkmar
Benutzeravatar
mirko
Beiträge: 23082
Registriert: 25.11.2001, 15:14
Wohnort: Leipzig
Kontaktdaten:

Beitrag von mirko »

Nee tut mir leid in die Blockliste kommen die Bounces nicht, das wird sonst beim E-Mail-Versand total langsam, wenn irgendwann mal 1000te E-Mail-Adressen in der Blockliste sind. Ich habe mittlerweile viele Server und Webpräsenzen bei der Installation oder Problemen gesehen, teilweise ist das bei rund 10.000 Empfängern alles so lahm und dann noch alles in die Blockliste, das geht auf keinen Fall.

Wenn du das unbedingt willst, dann lässt du die Bounces nur deaktivieren. z.B. 1x pro Monat lässt die deaktivierten Anzeigen, in die Blockliste aufnehmen und danach kannst diese auch löschen oder lässt diese gleich in der Mailingliste, dann werden diese auch nicht neu importiert.
volkmar1
Beiträge: 139
Registriert: 04.03.2009, 10:30

Beitrag von volkmar1 »

Hallo,

ich kann ja pro Mailingliste einstellen, dass bestimmte Aktionen ausgeführt werden, wenn sich jemand abmeldet, z.B. kann dann diese Adresse direkt einer der Blocklisten hinzugefügt werden.

Wie ist das beim Bounce-Management, wenn eine Adresse mehrfach hardbebounced wurde? Dort kann ich wählen, ob die Adresse nur inaktiv gesetzt oder gelöscht werden soll.

Wenn ich \"löschen\" wähle, werden dann auch die Einstellungen berücksichtigt, die ich bei Abmelden getroffen habe? Also z.B. Aufnahme in die Blockliste?

Falls nicht, könntest Du das in einem der nächsten Updates einbauen?

Gruß, Volkmar
Antworten