CronJob führt alle Aufgaben aus, bis auf den Mailversand

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 »

dann sollte es keine Rechteprobleme geben, vielleicht steht halt auch was im error_log des Servers (oder Ereignisprotokoll unter Windows?), warum das Problem auftritt.
JamieFraser
Beiträge: 8
Registriert: 13.01.2011, 17:28

Beitrag von JamieFraser »

Wenn aber keine Dateien, Anhänge usw. mit verschickt werden, dann sollte es doch laufen?
Benutzeravatar
mirko
Beiträge: 23082
Registriert: 25.11.2001, 15:14
Wohnort: Leipzig
Kontaktdaten:

Beitrag von mirko »

das kann dann auch ein Dateirechte-Problem sein, wenn du manuell das CronJob-Script anstößt, dann läuft das Script über den Webservernutzer. Wird es per Windows-Aufgabenplanung ohne das wget, sonder z.B. über die php.exe ausgeführt, dann ist es der Windows-System-Nutzer, der hat dann andere Zugriffsrechte und damit könnte der Zugriff auf Bilder und Anhänge verwehrt werden, die mit der E-Mail versendet werden sollen.
JamieFraser
Beiträge: 8
Registriert: 13.01.2011, 17:28

Beitrag von JamieFraser »

So, mir ist folgendes aufgefallen.

Nach meinem manuellen Anstoss, sind die Mails in der Warteschlange verschickt worden. Auch das \"Prüfung zu versendende Mails\" wurde danach über längere Zeit alle Minute ausgeführt.
Nachdem aber der Follow-Up-Responder positiv geprüft wurde (im Ereignisprotokoll ein grüner Haken) setzt das \"Prüfung zu versendende Mails\" aus und wird anscheinend nicht mehr abgearbeitet.
Benutzeravatar
mirko
Beiträge: 23082
Registriert: 25.11.2001, 15:14
Wohnort: Leipzig
Kontaktdaten:

Beitrag von mirko »

15 ist der Versand der E-Mails, aus der Warteschlange, falls was da ist.
JamieFraser
Beiträge: 8
Registriert: 13.01.2011, 17:28

Beitrag von JamieFraser »

Die Warteschlange ist leer.
JamieFraser
Beiträge: 8
Registriert: 13.01.2011, 17:28

Beitrag von JamieFraser »

Folgendes kommt

CurrentCronJobScriptLevel: 15
Done.
CurrentCronJobScriptLevel: 999
Done.
Etwaige geplante Aufgaben wurden ausgeführt.
Benutzeravatar
mirko
Beiträge: 23082
Registriert: 25.11.2001, 15:14
Wohnort: Leipzig
Kontaktdaten:

Beitrag von mirko »

deswegen mal dieses error_reporting auf E_ALL ändern und manuell das CronJob-Script aufrufen, ob dann Fehlermeldungen gezeigt werden, es muss welche geben.
JamieFraser
Beiträge: 8
Registriert: 13.01.2011, 17:28

Beitrag von JamieFraser »

Aber woran liegt es dann, dass er den einen Job net ausführt?
Benutzeravatar
mirko
Beiträge: 23082
Registriert: 25.11.2001, 15:14
Wohnort: Leipzig
Kontaktdaten:

Beitrag von mirko »

ja dann wird es wohl funktionieren.
JamieFraser
Beiträge: 8
Registriert: 13.01.2011, 17:28

Beitrag von JamieFraser »

Also an Web.de verschickt er auch E-Mails. Ich gehe dann mal davon aus, dass PHP mail() auch an externe E-Mail-Adressen versendet.
Benutzeravatar
mirko
Beiträge: 23082
Registriert: 25.11.2001, 15:14
Wohnort: Leipzig
Kontaktdaten:

Beitrag von mirko »

Funktioniert PHP mail() auch für den Versand an externe E-Mail-Adressen? Meistens verwendet man es nur auf dem eigenen Server an eigene gehostete Domains, damit funktioniert der Versand ohne Authentifizierung fast immer.


Wenn er die nicht versenden will, dann tritt ein schwerer Fehler auf, in dem Fall

* automatischen Aufruf des CronJob-Scripts vorübergehend deaktivieren, so dass man es manuell aufrufen muss


* Datei config.inc.php im Texteditor öffnen und im Script oben error_reporting(0); auf error_reporting(E_ALL); setzen, darunter das Raute-Zeichen # bei ini_set(\"display_errors\", 1); sicherheitshalber auch noch entfernen.

Nach der Speicherung der Datei über die Weboberfläche Menü Einstellungen - Geplante Aufgaben das Script aufrufen. Treten jetzt Fehler auf, sollte diese im Browserfenster sichtbar werden. Sollten ganz schwere Fehler auftreten z.B. HTTP Fehler 500 im Browser, dann im error_log (keine Ahnung wie das unter IIS heißt) des Server nachschauen.
JamieFraser
Beiträge: 8
Registriert: 13.01.2011, 17:28

Beitrag von JamieFraser »

Also PHP mail() funktioniert unter dem IIS ohne Problem. Nutze diese auch auf anderen Seiten auf dem Server.

Testmails werden verschickt und auch vom Follow-Up-Mail-Responder wurden schon Mails verschickt.

Das Problem ist, dass im Ereignisprotokoll eben \"Prüfung aus zu versendender E-Mails\" nicht aufgeführt ist und die Mails in der \"Warteschlange\" liegen bleiben.
Benutzeravatar
mirko
Beiträge: 23082
Registriert: 25.11.2001, 15:14
Wohnort: Leipzig
Kontaktdaten:

Beitrag von mirko »

Unter Menü Einstellungen - Versandvarianten alle Varianten mit der Test-E-Mail ausprobieren, das muss funktionieren, sonst könnte das Script an der Stelle abgebrochen werden. Meistens funktioniert PHP mail() mit IIS nicht, es muss dann ein SMTP-Server (auch der lokale localhost geht) mit SMTP-Authentifizierung verwendet werden.
JamieFraser
Beiträge: 8
Registriert: 13.01.2011, 17:28

Beitrag von JamieFraser »

Hallo,

wir haben SWM auf einem Windows-Server mit IIS laufen (PHP und mySQL vorhanden). Die Software läuft soweit ohne Probleme.

Für den Follow-Up-Mail-Responder haben wir eine Aufgabenplanung unter Windows eingerichte, die auch jede Minute ausgeführt wird. Das gestartete Script arbeitet soweit alle CronJobs ab, bis auf \"Prüfung auf zu versendende E-Mails\" (Ausführungsintervall alle 1 Minute).
Die Mails aus dem Follow-Up-Mail-Responder werden alle in die Ausgangswarteschlange gelegt aber nicht versendet. Sendeversuche = 0.

Woran kann das liegen?
Antworten