FollowUp Responder versendet garnicht/doppelt/mehrfach
Moderator: mirko
Re: FollowUp Responder versendet garnicht/doppelt/mehrfach
das mit der UserId geht nicht so einfach, wenn das alles Admin-Nutzer sind, also keine eingeschränkten Nutzer, dann angeben
$UserId
und Zeile davor noch global $UserId;
bei eingeschränkten Nutzern geht das nicht so einfach, muss man dann beim manuellen Versand, z.B. live im Browser oder Test-E-Mails, damit leben, dass die ID nicht stimmt
$UserId
und Zeile davor noch global $UserId;
bei eingeschränkten Nutzern geht das nicht so einfach, muss man dann beim manuellen Versand, z.B. live im Browser oder Test-E-Mails, damit leben, dass die ID nicht stimmt
Re: FollowUp Responder versendet garnicht/doppelt/mehrfach
Danke für die Erklärung, damit hab ich aber lediglich aus einem kurzen nicht-zuordbaren-Dateinamen einen langen nicht-zuordbaren-Dateinamen gemacht. Das wichtigste ist die User-ID wonach ich dann sortieren kann, dass die möglichst übereinanderstehen.
Also
$_6J1Lf = $this->writeEachEmailToDirectory.[USERID].microtime();
Also
$_6J1Lf = $this->writeEachEmailToDirectory.[USERID].microtime();
Re: FollowUp Responder versendet garnicht/doppelt/mehrfach
dann ändere es selbst, Script mail.php, Zeile 898
$_6J1Lf = tempnam($this->writeEachEmailToDirectory, "EML");
ändern in
$_6J1Lf = $this->writeEachEmailToDirectory.microtime();
oder in
$_6J1Lf = $this->writeEachEmailToDirectory."EML".microtime();
oder in
$_6J1Lf = $this->writeEachEmailToDirectory.microtime().".eml";
$_6J1Lf = tempnam($this->writeEachEmailToDirectory, "EML");
ändern in
$_6J1Lf = $this->writeEachEmailToDirectory.microtime();
oder in
$_6J1Lf = $this->writeEachEmailToDirectory."EML".microtime();
oder in
$_6J1Lf = $this->writeEachEmailToDirectory.microtime().".eml";
Re: FollowUp Responder versendet garnicht/doppelt/mehrfach
Aber du siehst ja selbst, dass die aktuelle Debugsituation auch keinen Sinn macht. Windows gut, ist ein Argument, aber auch das könnte man in PHP prüfen.
Alternativ könnte man auf tempnam() verzichten und einfach mit microtime arbeiten, damit hast du eine universale eindeutige Zeichenfolge.
http://php.net/manual/de/function.microtime.php
EML-[UserID]-[Microtime]
Microtime hätte zudem auch noch den Vorteil zu sehen welche Datei wirklich aktueller ist und als erstes verschickt wurde.
Aber der Sinn von Debugging sollte natürlich sein auch Informationen zu bekommen.
Alternativ könnte man auf tempnam() verzichten und einfach mit microtime arbeiten, damit hast du eine universale eindeutige Zeichenfolge.
http://php.net/manual/de/function.microtime.php
EML-[UserID]-[Microtime]
Microtime hätte zudem auch noch den Vorteil zu sehen welche Datei wirklich aktueller ist und als erstes verschickt wurde.
Aber der Sinn von Debugging sollte natürlich sein auch Informationen zu bekommen.
Re: FollowUp Responder versendet garnicht/doppelt/mehrfach
und genau das geht nicht. Die tempnam() Funktion berücksichtigt unter Windows als Präfix nur 3 Zeichen, nicht mehr, an die Windows-Nutzer muss ich natürlich auch denken. Selbst den eindeutigen Dateinamen kann ich nicht erstellen, denn bei vielen Dateien in diesem Ordner wird die Suche nach einem freien Dateinamen viel zu lange dauern.
Re: FollowUp Responder versendet garnicht/doppelt/mehrfach
Guten Morgen,
also, der Ordner eml hat sich die letzten Stunden schön gefüllt. Allerdings sind anhand der Dateinamen nicht ersichtlich ob sie zum gleichen User gehören.
EMLHlUD8o
EMLpXlaVU
EMLuuV7n9
....
Besser wäre aber ein Name wie
EML-123-HlUD8o
EML-123-pXlaVU
EML-751-uuV7n9
So könnte man sofort erkennen wann es sich um den gleichen Empfänger handelt. Jetzt wird das natürlich zum Ratespiel. Ich weiß ja leider nicht, wer von diese ganzen EML Dateien jetzt etwas doppelt bekommen hat, oder nicht...
also, der Ordner eml hat sich die letzten Stunden schön gefüllt. Allerdings sind anhand der Dateinamen nicht ersichtlich ob sie zum gleichen User gehören.
EMLHlUD8o
EMLpXlaVU
EMLuuV7n9
....
Besser wäre aber ein Name wie
EML-123-HlUD8o
EML-123-pXlaVU
EML-751-uuV7n9
So könnte man sofort erkennen wann es sich um den gleichen Empfänger handelt. Jetzt wird das natürlich zum Ratespiel. Ich weiß ja leider nicht, wer von diese ganzen EML Dateien jetzt etwas doppelt bekommen hat, oder nicht...
Re: FollowUp Responder versendet garnicht/doppelt/mehrfach
Dann schalte ich das jetzt mal aktiv, unser großer Versand geht ab 5:00 Uhr los und bis 9 Uhr sollte alles abgearbeitet sein..... mal schauen ob ich morgen mit dem Debugmodus etwas finde.
Re: FollowUp Responder versendet garnicht/doppelt/mehrfach
Die Dateien liegen dann in dem einem Verzeichnis, anhand des Datums sieht man dann, ob welche mehrfach hintereinander versendet wurden. Mit tempnam() und Präfix EML werden die Dateien erstellt, siehe dazu http://php.net/manual/de/function.tempnam.php
Re: FollowUp Responder versendet garnicht/doppelt/mehrfach
"derjenige" ist variable. Wenn es immer den gleichen Empfänger treffen würde, hätte ich ja selbst einen Anhaltspunkt. Das Problem ist, ich weiß nicht wen es als nächtest erwischt. An einem Tag bekommt der Empfänger XY 4 Mails, am nächsten Tag Empfänger AB 3 Mails, am übernächsten Tag läuft alles prima und am 4. Tag bekommen vielleicht 5 Leute je 4 Mails zugestellt.
Ich weiß nicht ob uns diese Debugfunktion weiterbringt. Wir senden die Followupmails täglich an über 700 Leute raus, je nachdem welche Zeit hinterlegt ist. Unsere Kunden können sich die Versandzeit selbst einstellen. Das wird alles über die API geregelt.
Bei wem die E-Mails auch mehrfach verschickt wurde, erhält wenigstens einen Eintrag im Log/History. Nur leider ist es hier sehr schwer ranzukommen, weil die History natürlich nur in einem Feld abgespeichert wird.
Daher die Frage, bevor ich das mit dem Debugmodus teste: Bringt es überhaupt etwas? Wie sind die Beschriftungen der *.eml Datei? Denn auf Dateiebene müsste man ja auch sortieren um gleiche Mails herausfiltern zu können.
Ich weiß nicht ob uns diese Debugfunktion weiterbringt. Wir senden die Followupmails täglich an über 700 Leute raus, je nachdem welche Zeit hinterlegt ist. Unsere Kunden können sich die Versandzeit selbst einstellen. Das wird alles über die API geregelt.
Bei wem die E-Mails auch mehrfach verschickt wurde, erhält wenigstens einen Eintrag im Log/History. Nur leider ist es hier sehr schwer ranzukommen, weil die History natürlich nur in einem Feld abgespeichert wird.
Daher die Frage, bevor ich das mit dem Debugmodus teste: Bringt es überhaupt etwas? Wie sind die Beschriftungen der *.eml Datei? Denn auf Dateiebene müsste man ja auch sortieren um gleiche Mails herausfiltern zu können.
Re: FollowUp Responder versendet garnicht/doppelt/mehrfach
aber warum derjenige 4 E-Mails erhält, ist trotzdem unklar, muss einen anderen Grund haben. Sind vielleicht Cc: oder BCc: Empfänger beim Follow-Up-Responder angegeben z.B. der Platzhalter [u_EMail], dann würde er nicht nur eine E-Mail bekommen.
in der Version ist auch ne weitere Debug-Möglichkeit drin, im Script cron_sendengine.inc.php
suchen nach writeEachEmailToFile, dahinter steht false, auf true setzen
darunter variable->writeEachEmailToDirectory davor // entfernen
per FTP das Verzeichnis eml im SuperWebMailer-Verzeichnis erstellen und auf 0777 setzen (Verzeichnis kann man theoretisch auch anders benennen)
von jeder versendeten E-Mail wird der Header und reine E-Mail-Text in eine separate Datei in das Verzeichnis geschrieben, die Dateien kann man alle anschauen.
Die Debug-Funktion natürlich deaktivieren, denn das kostet natürlich bei vielen E-Mails dementsprechend viel Speicherplatz
in der Version ist auch ne weitere Debug-Möglichkeit drin, im Script cron_sendengine.inc.php
suchen nach writeEachEmailToFile, dahinter steht false, auf true setzen
darunter variable->writeEachEmailToDirectory davor // entfernen
per FTP das Verzeichnis eml im SuperWebMailer-Verzeichnis erstellen und auf 0777 setzen (Verzeichnis kann man theoretisch auch anders benennen)
von jeder versendeten E-Mail wird der Header und reine E-Mail-Text in eine separate Datei in das Verzeichnis geschrieben, die Dateien kann man alle anschauen.
Die Debug-Funktion natürlich deaktivieren, denn das kostet natürlich bei vielen E-Mails dementsprechend viel Speicherplatz
Re: FollowUp Responder versendet garnicht/doppelt/mehrfach
Alle müssen umgestellt werden. Am besten CronJob-Script stoppen, alles als SQL per mysqldump exportieren und alle Tabellen danach löschen.
Wenn das ein eigener Server ist, dann in der MySQL-Konfiguration die Standardengine auf InnoDB setzen, das wirkt dann auf jede Tabelle, die neu erstellt wird, ansonsten ist es wieder MyISAM. In dem Dump nach ENGINE=MyISAM suchen und entfernen, dann wird InnoDB verwendet, wenn die Standardengine InnoDB ist.
Ist es kein eigener Server
In dem Dump alle CREATE TABLE Anweisungen suchen ENGINE=InnoDB angegeben bzw. ENGINE=MyISAM durch ENGINE=InnoDB ersetzen
den Dump zum Schluss neu importieren lassen
Wenn das ein eigener Server ist, dann in der MySQL-Konfiguration die Standardengine auf InnoDB setzen, das wirkt dann auf jede Tabelle, die neu erstellt wird, ansonsten ist es wieder MyISAM. In dem Dump nach ENGINE=MyISAM suchen und entfernen, dann wird InnoDB verwendet, wenn die Standardengine InnoDB ist.
Ist es kein eigener Server
In dem Dump alle CREATE TABLE Anweisungen suchen ENGINE=InnoDB angegeben bzw. ENGINE=MyISAM durch ENGINE=InnoDB ersetzen
den Dump zum Schluss neu importieren lassen
Re: FollowUp Responder versendet garnicht/doppelt/mehrfach
Hallo Mirko,
danke für die neue Version, habe diese gestern Abend eingespielt. Die erste Mail die ich heute um 5 Uhr erhalten habe, war von einem Kunden, der weiterhin 4 E-Mails über den FollowUp erhält.
Habe gerade in der DB nachgesehen, dort gibt es einige Tabellen die InnoDB sind, aber der großteil steht auf MyISAM.
Welche Tabellen muss ich auf InnoDB umstellen, damit das Feature mit den Sessions funktioniert?
danke für die neue Version, habe diese gestern Abend eingespielt. Die erste Mail die ich heute um 5 Uhr erhalten habe, war von einem Kunden, der weiterhin 4 E-Mails über den FollowUp erhält.
Habe gerade in der DB nachgesehen, dort gibt es einige Tabellen die InnoDB sind, aber der großteil steht auf MyISAM.
Welche Tabellen muss ich auf InnoDB umstellen, damit das Feature mit den Sessions funktioniert?
Re: FollowUp Responder versendet garnicht/doppelt/mehrfach
Ab der nächsten Version gibt es eine Sicherheit aber NUR wenn InnoDB für die MySQL-Datenbank und Tabellen verwendet wird, denn nur dann ist Sessionhandling möglich, damit werden im Falle eines Scriptabbruchs die SQL-Anweisungen nicht ausgeführt, so dass es keine doppelten Versendungen geben kann.
Re: FollowUp Responder versendet garnicht/doppelt/mehrfach
Hallo Mirko,
ich habe jetzt über einen Monat mit verschiedenen Einstellungen getestet, habe die "Anzahl Follow-Up-E-Mails, die auf einmal für den Versand vorbereitet werden sollen" immer weiter nach unten gestellt. Doch leider keinen Erfolg. Mittlerweile erhalten wir immer öfter Beschwerden unserer Kunden über doppelte (bis zu 4x) erhalten E-Mails, die auch in der "History der versendeten E-Mails" protokolliert wurden.
Irgendwas läuft falsch beim Versenden. Kannst du hier nicht irgendwie eine zusätzliche Sicherheit einbauen. Ich weiß leider nicht was ich sonst noch machen kann....
ich habe jetzt über einen Monat mit verschiedenen Einstellungen getestet, habe die "Anzahl Follow-Up-E-Mails, die auf einmal für den Versand vorbereitet werden sollen" immer weiter nach unten gestellt. Doch leider keinen Erfolg. Mittlerweile erhalten wir immer öfter Beschwerden unserer Kunden über doppelte (bis zu 4x) erhalten E-Mails, die auch in der "History der versendeten E-Mails" protokolliert wurden.
Irgendwas läuft falsch beim Versenden. Kannst du hier nicht irgendwie eine zusätzliche Sicherheit einbauen. Ich weiß leider nicht was ich sonst noch machen kann....
Re: FollowUp Responder versendet garnicht/doppelt/mehrfach
Super, vielen Dank für den Tipp. Hab den Wert jetzt mal auf 100 gestellt (vorher war 250). Dann hoffe ich mal, dass das Problem damit behoben ist