Postboxen Quota Check und Benachrichtigung

  • Hallo liebe PD-Admin Gemeinde,


    wie in diversen Themen hier im Forum schon angesprochen, fehlt PD-Admin eine Funktion zur Benachrichtigung von Benutzern bei Gefahr eines Überlaufs ihrer Postbox. Da hierzu nie eine konkrete Aussage gemacht wurde ob das nun umgesetzt wird und vor allem wann, hat einer unserer Entwickler diese Funktion nun in einem einfachen PHP-Skript umgesetzt. Nach einem Monat Testzeit hat sich das Skript bewährt und ich möchte es euch nun auch zur Verfügung stellen.
    ---
    Funktion:


    - Prüfung der Postbox-Größen
    - Prüfung der erlaubten Quota (Auswertung .quota File)
    - Berechnung des verbrauchten Speicherplatzes
    - Bei erreichen eines definierten Schwellwertes erfolgt die Auslößung einer Benachrichtigung an den betroffenen Benutzer (E-Mail wird aus DB geholt)


    Integration:


    1. Archiv von laden *1 und an beliebige Stelle entpacken.


    2. Variablen in der postbox_check.php anpassen. Insbesondere das DB Passwort für vadmin, Absenderadresse und event. Mailtexte.
    Schwellwert ist auf 70% gestellt und kann nat. auch geändert werden.


    3. Zum Test kann man die "Debug Echo" und den Mail Eintrag Zeile 132 nutzen und das Skript mit "php postbox_check.php" aufrufen(oder im Browser falls erreichbar).


    4. Die Debug Settings wieder auskommentieren und das Skript per Cronjob einbinden. Z.B.:

    Code
    30 1 * * 0 php /usr/local/pd-admin2/htdocs/popbox_check/postbox_check.php


    *1: http://www.leits.com/pub/upload/postbox_check.zip


    Feedback erwünscht. Dieses Skript kann natürlich auch wenn gewünscht in PD-Admin aufgenommen werden. Ist aber halt PHP, kein Perl ;)


  • Ah.Habe ich nicht gesehen. Das nenne ich ja mal klassich doppelte Arbeit. :/ Kommt mir aus der OS Szene sehr bekannt vor. ;) Ich schau es mir mal an und geb Dir dann Feedback per PM.

    • Offizieller Beitrag

    Twilo, hab' ich da etwas übersehen?


    Zitat

    [root@217-20-118-152 ~]# /usr/local/pd-admin2/bin/php5 -d html_errors=off -f ./QmailQuotaCheck/example.php;
    Fehler beim Einlesen der Postmaster eMail-Adresse!


    Lars, hat bei mir soweit funktioniert. Ich würde allerdings noch folgendes einbauen:


    - per Schalter umschaltbar, ob Mail versendet wird, oder Reports ausgegeben werden (letzteres ist ja momentan die "Debug-Funktion")
    - jedes <BR> mit einem '\n' erweitern; für die ollen Console-Tester ;)


    Dann könnten wir es doch auch in ein AddOn einbinden, oder?


    Gruss
    miko

    • Offizieller Beitrag

    Hallo,


    Zitat

    Original von miko93
    Twilo, hab' ich da etwas übersehen?


    gibt es bei dir folgende Datei?
    /var/qmail/alias/.qmail-postmaster


    Zitat

    Original von miko93
    Lars, hat bei mir soweit funktioniert. Ich würde allerdings noch folgendes einbauen:


    - per Schalter umschaltbar, ob Mail versendet wird, oder Reports ausgegeben werden (letzteres ist ja momentan die "Debug-Funktion")


    im Archiv sind 2 Dateien einmal ein example.php und dann die crontab.php
    example.php: gibt nur die Pop3 Boxen aus, die die Schwelle überschritten haben... es wird keine eMail verschickt
    crontab.php: es erfolgt keine Ausgabe, eMails werden verschickt


    Zitat

    Original von miko93
    - jedes <BR> mit einem '\n' erweitern; für die ollen Console-Tester ;)


    öhm... eigentlich sollte "-d html_errors=off" die HTML Ausgabe der Fehler verhindern
    oder meinst du andere <br />?


    ps. es gibt ein paar Methoden, womit man das Verhalten ändern kann ;)
    beim Objekt erstellen kann man auch schon einiges beeinflussen


    mfg
    Twilo

  • Wir sollten aufpassen die Themen/Lösungen nicht zu vermischen!
    Die Fehlermeldung war für die Lösung von Twilo. Die beiden anderen Sachen für unsere. ;)


    @Miko: Den Schalter können wir noch aufnehmen. Mit den BRs nat. auch. ;)
    Ich für meinen Teil werde wohl unsere Lösung einsetzen. Nicht weil es unsere ist. Die Lösung als Klasse von von Twilo ist gut und zugegeben besser dokumentiert. Unsere finde ich jedoch leichter zu integrieren und mit weniger Abhängigkeiten. Stellt sich die Frage ob eine der beiden Lösungen für Hr. Bradler event. zur Integration in PD-Admin in Frage kommt. Nicht das sich hier 2 Mann die Arbeit machen und dann doch eine eigene Lösung in PD-Admin integriert wird. ;)

    • Offizieller Beitrag

    Hallo,


    zuviele Abhängigkeiten?
    es wird nur die Mail Klasse von PEAR benötigt :baby:
    du packst deine Mail Klasse gleich ins Paket


    wo ist denn meine Klasse schwer zu integrieren?!
    die Beispieldatei wurde doch gleich mitgeschickt
    [php]<?php
    require_once('./class/QmailQuotaCheck.class.php');
    try{
    $quotaCheck = new QmailQuotaCheck();
    print $quotaCheck->checkPopboxes();
    }
    catch (Exception $e){
    print $e->getMessage()."\n\n";
    }
    ?>[/php]
    folgendes würde auch funktionieren
    [php]<?php
    require_once('./class/QmailQuotaCheck.class.php');
    $quotaCheck = new QmailQuotaCheck();
    $quotaCheck->checkPopboxes();
    ?>[/php]
    was ist daran kompliziert?! 8o
    der Pfad zu den Pop3 Boxen, das vadmin Passwort und die Postmaster eMail-Adresse wird automatisch ausgelesen


    mfg
    Twilo

  • War ja keine Kritik. ;) Mit Abhängkeiten meinte ich u.a. das man eben die Klasse noch in extra Skripte einbinden muss. Außerdem ist dein Code komplexer. Das macht Deine Klasse nat. flexibler, für unsere Zwecke ist das jedoch nicht nötig. Da die Funktionalität sonst so ziehmlich gleich ist, viel die Entscheidung auf unsere Lösung. ;)