Re: Mails automatisch per CronJob abholen [UPDATE]Hallo Onkel Admin,
die "Programmierung" ist leider nicht so meine stärke. ss gibt die möglichkeit beim webhoster einen cronjob zu starten oder die datei mail.fetcher.php zu bearbeiten. was muss ich schreiben oder machen um zu einer lösung zu kommen? für Ihre bemühungen vieln Dank im voraus gruß nachgesalzen
Re: Mails automatisch per CronJob abholen [UPDATE]hast du denn die Möglichkeit, crontabs bei deinem webhoster zu starten / verwalten?
welchen hast du? wenn du die Datei mail.fetcher.php bearbeitest, werden trotzdem deine mails noch nicht abgeholt. Crontabs brauchst du sowieso. Entweder über deinen Webhoster, oder über einen externen anbieter. Wobei die erste Lösung natürlich die wesentlich bessere ist.
Re: Mails automatisch per CronJob abholen [UPDATE]Hallo ich habe bei mir mail.fetcher als cronjob eingerichtet, es wird auch ohne Fehlermeldungen ausgeführt, leider holt er die E-Mails trotzdem nicht ab!
Die automatische Abholung steht auf 5 min, und im Crone ist abholen jede 30 min eingestellt. Folgende Zeile steht im Crone drinn cd /volume1/web/phlymail/backend && /opt/bin/php -f email.fetcher.php (das da keine Zeiten angegeben sind hat seine Richtigkeit da zum eintragen ein Script verwendet wird mit extra Spalten für die Zeiten, bei anderen Jobs funktioniert das auch). Ich habe es auch über die Kommandozeile ausgeführt, ebenfalls keine Fehlermeldung, aber E-Mails werden trotzdem nicht abgeholt. Meine verwendete Version ist phlyMail MessageCenter 3.06.33 . Ich bitte um Hilfe.
Re: Mails automatisch per CronJob abholen [UPDATE]Ist denn das in der Crontab angegebene PHP-Binary mit den gleichen Parametern kompiliert (oder das gleiche) wie das, mit dem der Apache PHP ausführt? Manchmal lungert auf der Festplatte irgendwo noch ein veraltetes PHP rum. /opt/bin/php -v bzw /opt/bin/php -i sollte detailliertere Auskunft darüber geben (der Output lässt sich mit dem der PHP-Info in der Config von phlyMail vergleichen).
Re: Mails automatisch per CronJob abholen [UPDATE]Hallo es wird in beiden Fällen die PHP Version 5.2.6 angezeigt. Einen Auszug der PHPinfo habe ich angehangen.
PhP Script musste ich allerdings per IPKG nachinstallieren da es vorher nicht vorhanden war! BusyBox v1.1.0 (2008.09.19-12:27+0000) Built-in shell (ash) Enter 'help' for a list of built-in commands. DiskStation> /opt/bin/php -v PHP 5.2.6 (cli) (built: Aug 25 2008 03:27:08) Copyright (c) 1997-2008 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies DiskStation>
Re: Mails automatisch per CronJob abholen [UPDATE]Die PHP-Info sagt mir, dass der Server eine Synology DiskStation ist. Mit denen gibt es aber i.d.R. keine Probleme. Was sagt denn php -i auf der Konsole von der Box? Unterscheidet sich das wesentlich von der hier angehängten phpinfo()?
Re: Mails automatisch per CronJob abholen [UPDATE]Ja es sind einige Unterschiede vorhanden.
Ich habe ihnen die Datei deshalb noch einmal beigefügt.
Re: Mails automatisch per CronJob abholen [UPDATE]Gut, es scheint zwar ein wenig anders kompiliert zu sein, aber so gravierend schlimm sieht es auch nicht aus.
Zu beachten sind beim email.fetcher.php aber noch zwei Dinge: - Der Fetcher beachtet die im Profil eingetragenen "Hole alle x Minuten": Wenn parallel per Frontend abgeholt wird (Sie also gerade eingeloggt sind), kann es sein, dass email.fetcher.php nie zum Zuge kommt. - Es muss in den Profilen bei "Hole Mails alle x Minuten" sowohl für per Frontend als auch per Backend ein Wert > 0 drin stehen. Sonst greift eben nur der Mechanismus. für den ein Wert > 0 eingetragen ist.
Re: Mails automatisch per CronJob abholen [UPDATE]Ich habe es noch mal Probiert mit:
-wenn ich eingeloggt bin: 5 min -per Hintergrundprozess: 5 min und den cron habe ich ausführen alle 6 min (*/6 * * * * root cd /volume1/web/programme/phlymail/backend && /opt/bin/php -f email.fetcher.php) eingestellt. Ich bin auch ausgelogt und E-Mails habe ich auch an eine von meinen Adressen gesendet. aber selbst wenn ich mich dann nach 30 Min wieder einlgge hat er keine von denen abgeholt. Auch wenn ich die Datei über Kommandozeile starte wird nichts abgeholt.
Re: Mails automatisch per CronJob abholen [UPDATE]Aktivieren Sie doch mal die Fehlerberichterstattung: In die Config einloggen, dann dort unter Systemeinstellungen "Fehlerberichterstattung" auf "An". Eventuell wirft der email.fetcher.php dann beim Ausführen einen Fehler.
Re: Mails automatisch per CronJob abholen [UPDATE]Diese Funktion hatte ich bereits eingeschaltet. Werden Eventuelle Fehlermeldungen direkt in der Kommandozeile Angezeigt
oder werden sie In ein Log geschrieben?
Re: Mails automatisch per CronJob abholen [UPDATE]Editeren Sie mal bitte die Datei /opt/etc/php.ini. Finden Sie dort die Zeile mit "display_errors" und stellen Sie diese Direktive von "Off" auf "On". Rufen Sie dann den email.fetcher.php nochmal auf der Kommandozeile auf.
Re: Mails automatisch per CronJob abholen [UPDATE]Hallo ich /opt/etc/php.ini. "display_errors" auf "On"gestellt, es wird aber trotzdem nichts angezeigt beim Aufruf von email.fetcher.php.
Re: Mails automatisch per CronJob abholen [UPDATE]Rufen Sie mal dies auf der Kommandozeile auf:
Steht denn die Direktive jetzt auch wirklich auf "On"? Manchmal lungern noch andere php.ini rum, wo dann plötzlich was ganz anderes drin steht.
Re: Mails automatisch per CronJob abholen [UPDATE]Hallo es wird folgendes angezeigt: DiskStation> /opt/bin/php -i | grep display_errors
display_errors => STDOUT => STDOUT Folgende php.ini sind auf dem Server vorhanden: DiskStation> find / -name php.ini /opt/etc/php.ini /volume1/@optware/etc/php.ini /usr/syno/etc.defaults/php.ini /usr/syno/etc/php.ini Die Option display-Errors steht auf On.
Re: Mails automatisch per CronJob abholen [UPDATE]STDOUT heißt dann wohl, dass beim Aufruf auf der Kommandozeile evtl. PHP-Fehlermeldungen direkt ausgegeben werden.
Was mir gerade noch einfällt: In der Crontab welchen Users steht denn der Aufruf vom Fetcher und mit welchem User rufen Sie den zum Test auf? Doch hoffentlich mit dem gleichen, unter dem phlyMail sonst auch läuft?
Re: Mails automatisch per CronJob abholen [UPDATE]Im cron ist der Benutzer root und auch beim Test.
Die Datenbank von phlymail läuft allerdings mit admin.
Re: Mails automatisch per CronJob abholen [UPDATE]Gemeint war weniger die DB, eher der Apache-User. Der hat meist ja sowas wie www oder wwwrun. Packen Sie den Fetcher doch mal in die passende Crontab. Zum Test sollten Sie auch der User des Apache sein. Kann sonst gut sein, dass es wegen verquerer Rechte fehlschlägt. Ansonsten bin ich mit meinem Latein aber langsam am Ende. Haben Sie parallel schon mal in einem Synology-Forum um Rat gefragt?
Re: Mails automatisch per CronJob abholen [UPDATE]Hallo liebe Gemeinde,
ersteinmal muss ich loswerden, dass Phlymail ein super Tool ist und definitiv das Beste seiner Art. Dennoch habe ich ein kleines Problem mit dem Backend-Fetcher. Ich habe den Cronjob soweit eingerichtet, allerdings gibt er dennoch folgenden Fehler aus:
Für mich sieht das so aus, als gäbe es Probleme mit einem aktivierten Safe Mode. Der Safe Mode ist aber definitiv deaktiviert! Kann es ein Problem sein, dass (lauf phpinfo) der Safe Mode Local auf Off steht, der Master Value aber auf On steht? Gibt es da für den Fall, dass dem so ist evtl. einen Lösungsansatz? Der Crontag führt übrigens alle 20 Minuten folgenden Befehl aus:
Ich hoffe, dass meine Frage nicht schon tausend Mal diskutiert wurde (für denn Fall dass doch, bitte ich höflich um Entschuldigung) und würde mich über Antwort sehr freuen. Lieben Gruß, Leon PS: Noch die Ausgabe der Kurzdiagnose:
Re: Mails automatisch per CronJob abholen [UPDATE]Hallo Toogas,
Danke! Oh ja, der SafeMode, die Geisel der Aber auch damit lässt sich umgehen.
Dieses Funktion müssten Sie im SafeMode ignorieren. Der Rest deutet darauf hin, dass nicht alle Dateien von phlyMail dem User gehören, unter dem PHP läuft. Dazu als Zitat von php.net:
Es müsste also die gesamte Ordnerstruktur von phlyMail inklusive aller Dateien dem Benutzer zugeordnet werden, unter dem PHP läuft. Im Falle des CronJobs gilt dann, dass der Eintrag zum Abholen der Mails in die Cron-Tab des Apache gehört (weil PHP vermutlich normalerweise vom Apache gestartet wird).
Diese Meldung sagt mir, dass das Hauptverzeichnis von phlyMail dem user root gehört. Ändern Sie doch mal via chown noch dessen Eigentümer entsprechend ab. Zusammengefasst sollten also ALLE Dateien von phlyMail inklusive dessen Hauptordner dem gleichen System-User gehören (z.B. Apache) und idealerweise auch der CronJob unter diesem Benutzer gestartet werden.
Re: Mails automatisch per CronJob abholen [UPDATE]Ersteinmal vielen Dank für die umfangreiche Antwort.
Ich muss an dieser Stelle zugeben, dass ich nicht unbedingt ein PHP-Experte bin. Das grundsätzliche an meinem Problem, was ich einfach nicht verstehe, ist die Tatsache, dass der Safe Mode doch deaktiviert ist. Sowohl die Kurzdiagnose, als auch phpinfo geben eindeutig an, dass der Safe Mode OFF ist. Ist es also tatsächlich irgendwie so, dass dieser "Master" Wert (was immer das auch genau ist), das ganze irgendwie tangiert, weil ich das Script nicht über die Domain, sondern über den direkten Serverpfand anspreche (ich kann die PHP.ini Einstellungen irgendwie immer nur für Domains konfigurieren und nicht für den gesamten Webpace - also Domainunabhängig). Aber welchem User sollte ich den die Ordnerstruktur schenken? Woher erfahre ich, welcher User PHP-Scripte auf dem Server ausführt? Muss ich mich dafür an den Provider wenden? Dann würde ich den nämlich gleich fragen, ob er nicht einfach den Master Wert auch auf OFF setzen könnte... Nochmals vielen Dank für die getätigte Antwort und im Voraus für kommende Antworten!
Re: Mails automatisch per CronJob abholen [UPDATE]Der SafeMode dient ja dazu, dass Provider (Hoster) ihrerseits PHP besonders sicher betreiben können. Daher dürfte sich der Master-Value nicht ändern lassen - wenn in der zentralen php.ini der SafeMode aktiv ist, lässt er sich an anderer Stelle und auf Scriptebene nicht abschalten.
Das würde ich im Moment empfehlen. Eventuell kann der Provider auch mal eben den Dateien die richtigen Benutzer- und Gruppenrechte vergeben
Re: Mails automatisch per CronJob abholen [UPDATE]Mein Hintergrund-Fetcher läuft seit einiger Zeit nicht mehr. Ich kann leider nicht mehr sagen, seit welchem Update.
Meldung ist folgende: PHP Parse error: parse error, unexpected T_ARRAY, expecting '&' or T_VARIABLE in /[...]/shared/lib/imap.inc.php on line 381 Nachdem aber das Abholen der Mails im Frontend sauber klappt, liegt der Fehler wohl nicht wirklich in der imap.inc.php sondern eher in irgendeiner Übergabe... Der Fetcher soll zwei IMAP-Postfächer sowie drei oder vier POP3-Postfächer checken.
Re: Mails automatisch per CronJob abholen [UPDATE]Da wird das Kommandozeilen-PHP ein PHP4 sein. Prüfen Sie doch bitte mal, ob der Pfad zum PHP in der Crontab stimmt. Neuere PHP-Binaries werden i.d.R. unter /usr/local/bin/php installiert.
Re: Mails automatisch per CronJob abholen [UPDATE]Unwahrscheinlich... Auf dem Server laufen zwar PHP4 und PHP5, aber mit unterschiedlichen Namen. In der Crontab (bzw. in dem Shell-Script, das über die Crontab aufgerufen wird), wird explizit "php5 email.fetcher.php" gerufen. Und dass mein Hoster plötzlich ein PHP4 mit Namen php5 betreibt, halte ich für nicht sonderlich wahrscheinlich
Ich glaube auch, dass es in zeitlichem Zusammenhang mit meinem Update auf die 3.7 steht... Edit: Hmmm, seltsam. Ich hab jetzt mal die .htaccess aus dem backend-Ordner entfernt und die email.fetcher.php im Browser aufgerufen, da bekomme ich keine Fehlermeldung. Das spricht ja dann doch dafür, dass mit der Kommandozeilen-Version irgendwas nicht passt...
|
Registered users: Exabot [Bot]