Mails automatisch per CronJob abholen [UPDATE]Neben dem Fetcher im Frontend bietet phlyMail noch ein Script an, was per CronJob eingebunden automatisch die Mails der eingerichteten Profile aller User holen kann.
Der Eintrag in der crontab könnte etwa so aussehen: 0,20,40 * * * * cd /pfad_zu_phlymail/backend && php -f email.fetcher.php D.h. dass alle 20min nach Mails gesehen wird. Der Pfad zu phlyMail und evtl. der Pfad zu PHP ist anzupassen. PHP wird oftmals per /usr/bin/php aufgerufen, genaue Infos dazu sollte der Provider liefern. Diese Methode hat einige Vorteile: - POP3-Konten, die einen Login nur alle x Minuten zulassen, können damit problemlos abgerufen werden - Mails werden auch dann abgeholt, wenn man gerade nicht eingeloggt ist. - Der Download sehr großer Mails, der im Frontend u.U. nicht binnen 30s erledigt ist, gelingt problemlos Anmerkung: Bis phlyMail 3.02.11 hieß das Script pop3.fetcher.php, seit Version 3.3.0 hingegen email.fetcher.php. Mit der letztgenannten Version wurde der Fetcher in die Lage versetzt, die INBOX-Ordner von IMAP-Konten mit abzurufen. Last edited by mso on 17.10.2007 14:26, edited 2 times in total.
Kann man den Cronjob auch von extern starten lassen? Also einen exteren Cronjobdienst nutzen?
Kurz gesagt, kann man das php Skript auch direkt ansprechen?
Die Spuren diverser Versuche finden sich hier im Board. Es ist im Allgemeinen davon abzuraten, da dieses Script einzig und allein dafür geschrieben wurde, per Kommandozeile aufgerufen zu werden.
Mit der finalen Version 3.3 soll das dann auch gehen. Im aktuellen Beta-Status werden weiterhin nur POP3-Konten abgeholt.
direkter script zugriffHallo Zusammen,
ich würde einen direkten Zugriff auch sehr gerne sehen, so ist man dann in der Lage Providerunabhängige CronJob-Dienste zu nutzen Und... natürlich IMAP sollte auch unterstützt werden Cheers Dirk
Re: direkter script zugriff
Auch wenns flyingbit nicht gern hört, das geht auch jetzt schon ohne Probleme: ------------------------------------------------------------------------------------------ 1. In dem Ordner backend die .htaccess Datei löschen. 2. Einen Benutzernamen und Passwortschutz mittels .htaccess anlegen (kann man weglassen, sollte man aus Sicherheitsgründen aber unbedingt machen). 3. In Phlymail das Abrufen des Hintergrundprozesses auf 5 Minuten stellen (beim POP3 Konto) 4. Beim externen Anbieter (z.B. http://www.cronjob.de) folgende url alle 5Minuten aufrufen lassen: http://benutzername:passwort@deineadresse.tld/phylmailordner/backend/email.fetcher.php benutzername und passwort natürlich mit den eigenen Angaben aus der .htaccess Datei ersetzen. ------------------------------------------------------------------------------------------ Ich habe es bis jetzt nur mit der kostenlosen Phlymail Lite Version und dem kostenlosen Dienst von cronjob.de getestet, deswegen weiß ich nicht ob es auch öfters geht. Ich hab all-inkl.com als Provider, aber ich denke das ist unwichtig, müsste bei jedem funktionieren. Last edited by StrongZero on 03.03.2006 21:45, edited 1 time in total.
funktioniert / CronjobHallo StrongZero,
danke für den Hinweis. Ich habe die Personal Version und mußte nur ein paar Zeilen entfernen, weil ich eine Fehlermeldung über eine undefinierte Variable bei den SMS bekommen habe. Läuft aber super über CronJob! Danke LG Dirk
Na nun, so ganz ungern höre ich es nicht, ist ja immerhin schon mal was, daß man externe CronJob-Dienste nutzen kann, auch wenn der eigenen Provider es nicht bietet. Allerding dürfte der Backendprozess, auf diese Weise aufgerufen, trotzdem maximal 30s laufen können, was bei höheren Mailaufkommen schon mal in die Hose gehen kann. Weiterhin sollte man bei dieser Lösung darauf achten, daß der Benutzer für die .htaccess und dessen Passwort nirgendwo sonst verwendet wird. Immerhin wird dieser Zugang bei dem externen Diesntleister hinterlegt und auch noch vollkommen ungesichert in der URL übermittelt. Daher ein großes Dankeschön an die ausgezeichnete Beschreibung von StrongZero. Ich bitte alle, die diese Lösung nutzen, seine und die hier genannten Tipps zu beherzigen. An Dirk: Zieh dir bitte nochmal die aktuelle Fassung der PE in der Core-Version und kopiere dann aus dem ZIP die Dateien aus phlymail/backend/ auf den Server (außer "meiner" .htaccess natürlich). Dir fehlten nur die SMS-Templates, die versehentlich in der ersten Version der 3.02.10 nicht enthalten waren.
Nunja, da es von Server zu Server geht müssten das schon sehr große oder sehr viel Mails sein. Und die Wahrscheinlichkeit dass innerhalb von 5 Minuten so viele oder so große Dateien ankommen ist eher gering. Vorrausgesetzt man lässt sich keine riesigen Dateien schicken und keine Leitung bzw. kein Server laggt
Auf jeden Fall! Das ist sehr wichtig.
Danke, gern geschehen
Zum Thema große Mails schweig ich lieber still. Ich habe schon Kundeninstallationen gesehen, wo Mails im Bereich von 50MB (!) abgeholt werden sollten....
Okay, dann würde das Cronskript durch einen externen Cronjobdienst nicht funktionieren. Aber für solche Größen gibts ja eigentlich FTP
Ja, Sie wissen das, ich weiß das, aber Lieschen Müller... ![]()
selbst diese Grössen.....Ich denke das selbst diese Grössen dürften nicht wirklich ein Probelm darstellen, weil der Datenverkehr von Server zu Server echt schnell ist
Ich hatte nur einmal ein Problem mit einem Anhang von 16MPB in meinem IMAP Account, da wollte diese email sich nicht anzeigen lassen und damit konnte ich das File auch nicht downloaden Aber.... PhlyMail ist und bleibt empfehlenswert und sobald es den "Eigene Dateien" Ordner gibt ein unbedingtes "MUß"! Ein wunderschönes Wochenende Dirk
Wenn Mails zu groß werden, kommt PHP leider irgendwann an die vordefinierten Grenzen.
Wer oft mit größeren Mails arbeitet und die Hoheit über den Server hat, kann natürlich über die PHP-Direktiven memory_limit und max_execution_time so Einiges drehen
Re: Mails automatisch per CronJob abholen
Und das soll so stimmen? Wenn ich das ausführe kommt diese Meldung:
Es stimmt so. Stellen Sie bitte sicher, daß Sie wirklich alle Sternchen übernommen haben. Der folgende Link ist eventuell lesenswert:
http://www.php4-forum.de/crontab.htm
Hallo,
hatte doch glatt das cd vergessen, aber nun bekomme ich folgenden Fehler:
Was muss ich nun tun? Zur Info: ich muss alle php5 Script mit der Endung php5 ausführen. Kann es daran liegen?
Ja, das ist definitv die Ursache - mit /usr/bin/php führen Sie wahrscheinlich das PHP4-Binary aus, was sich natürlich an der PHP5-Klasse mailparser stört.
Mit
Tragen Sie dann dessen Pfad in der Crontab ein. Übrigens: ein /pfad/zu/php -v gibt Ihnen die verwendete Version aus.
Ah, sieht in der Tat besser aus. Fügen Sie bitte in Zeile 29 der Datei pop3.fetcher.php diesen Text ein:
Dann ist Ruhe
|
Registered users: No registered users