Quota Warning einrichten

Hallo zusammen,

ich versuche gerade Quota Warning einzurichten, Quota selbst läuft
schon. Ich habe die 90-quota.conf angepasst, Dovecot restartet und
getestet, in dem ich so lange Mails von einem anderen Konto in mein
Konto kopiert habe, bis die 60% Marke überschritten war. Leider kam
keine Warn-Mail und im Log war auch nichts zu sehen. Das Skript
quota-warning.sh habe ich natürlich auch angelegt. Ich bin da gerade
etwas verloren warum das nicht klappt und vor allem wie man das
vernünftig testen kann.

quota-warning.sh:

#!/bin/sh

PERCENT=$1
FROM=“admin@peakwork.de“

msg=“From: $FROM
To: $USER
To: admin@peakwork.de
Subject: Your email quota is $PERCENT% full
Content-Type: text/plain; charset=UTF-8

Your mailbox is now $PERCENT% full.“

echo -e „$msg“ | /usr/sbin/sendmail -f $FROM „$USER“

exit 0

Ausgabe von dovecot -n:

# 2.1.1: /usr/local/etc/dovecot/dovecot.conf
# OS: Linux 2.6.18-308.11.1.el5 x86_64 CentOS release 5.8 (Final)
auth_mechanisms = plain login
default_process_limit = 300
disable_plaintext_auth = no
hostname = mail.peakwork.de
mail_location = maildir:~/Maildir
mail_plugins = quota
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope
encoded-character vacation subaddress comparator-i;ascii-numeric
relational regex imap4flags copy include variables body enotify
environment mailbox date ihave
namespace inbox {
inbox = yes
location =
mailbox Drafts {
special_use = Drafts
}
mailbox Junk {
special_use = Junk
}
mailbox Sent {
special_use = Sent
}
mailbox „Sent Messages“ {
special_use = Sent
}
mailbox Trash {
special_use = Trash
}
prefix =
}
passdb {
args = /etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
plugin {
quota = maildir:User quota
quota_warning = storage=95%% quota-warning 95 %u
quota_warning2 = storage=60%% quota-warning 60 %u
sieve = ~/.dovecot.sieve
sieve_dir = ~/sieve
}
postmaster_address = postmaster@peakwork.de
protocols = pop3 imap sieve
quota_full_tempfail = yes
service auth {
unix_listener /var/spool/postfix/private/auth {service quota-warning {
executable = script /usr/local/bin/quota-warning.sh
unix_listener quota-warning {
user = vmail
}
user = dovecot
}
ssl_cert = </etc/pki/mail/mail.crt
ssl_key = </etc/pki/mail/mail.key
userdb {
args = /etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
protocol lda {
mail_plugins = quota sieve
}
protocol imap {
imap_client_workarounds = delay-newmail
imap_idle_notify_interval = 5 mins
mail_max_userip_connections = 40
mail_plugins = quota imap_quota
}
protocol pop3 {
pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
}

group = vmail
mode = 0660
user = postfix
}
unix_listener auth-userdb {
group = vmail
mode = 0660
user = vmail
}
}

Gruß, Christian

  • 25. April 2013

  • Christian Garling

  • 4 Antworten

  1. Andreas Kossack sagt:

    Hi,

    > ich versuche gerade Quota Warning einzurichten, Quota selbst läuft
    > schon. Ich habe die 90-quota.conf angepasst, Dovecot restartet und
    > getestet, in dem ich so lange Mails von einem anderen Konto in mein
    > Konto kopiert habe, bis die 60% Marke überschritten war. Leider kam
    > keine Warn-Mail und im Log war auch nichts zu sehen. Das Skript
    > quota-warning.sh habe ich natürlich auch angelegt. Ich bin da gerade
    > etwas verloren warum das nicht klappt und vor allem wie man das
    > vernünftig testen kann.

    Deine „dovecot -n“ Ausgabe zeigt ein wenig merkwürdig:
    > …
    > service auth {
    > unix_listener /var/spool/postfix/private/auth {service quota-warning {
    > executable = script /usr/local/bin/quota-warning.sh
    > unix_listener quota-warning {
    > user = vmail
    > }
    > user = dovecot
    > }
    > …
    Ist das wirklich so? Oder nur ein „Copy&Paste“-Versehen?

    So etwas wie

    service quota-warning {
    executable = script /usr/local/bin/quota-warning.sh
    unix_listener quota-warning {
    user = vmail
    }
    }

    in „90-quota.conf“ wäre schon gut.

    Vielleicht sollte dort auch noch ein Eintrag wie

    quota_rule = *:bytes=1024M

    ohne Kommentarzeichen davor als Limit gesetzt sein!?


    Mit freundlichen Grüßen / Best regards / Salutations / Cordialmente
    _______________________________________________________________________________

    Andreas Kossack Andreas.Kossack@TU-Cottbus.De
    BTU Cottbus, Brandenburg, Germany, Walther-Pauer-Str.2, 03046 Cottbus
    http://wwwca.telesec.de/cgi-bin/caservice/Common/InstallRoot/DT-Root-CA-2.der
    _______________________________________________________________________________

    Diese Nachricht wurde aus 100% wiederverwerteten Elektronen erstellt.
    _______________________________________________________________________________

    • Christian Garling sagt:

      Hi,

      ich glaub das war ein Copy&Paste Fehler, hier nochmal die 90-quota.conf
      von oben nach unten ohne Kommentare / auskommentierte Zeilen:

      plugin {
      quota_warning = storage=95%% quota-warning 95 %u
      quota_warning2 = storage=60%% quota-warning 60 %u
      }

      service quota-warning {
      executable = script /usr/local/bin/quota-warning.sh
      user = dovecot
      unix_listener quota-warning {
      user = vmail
      }
      }

      plugin {
      #quota = dirsize:User quota
      quota = maildir:User quota
      #quota = dict:User quota::proxy::quota
      #quota = fs:User quota
      }

      quota_rule kommt bei uns aus der MySQL:

      user_query =
      SELECT u.uid, u.gid, u.homedir AS home, u.maildir AS mail,
      CONCAT(‚*:storage=‘, quota) AS quota_rule
      FROM users AS u INNER JOIN domains AS d
      WHERE username=’%n‘ AND d.domain=’%d‘ AND u.domainid=d.domainid
      AND u.enabled=’1′

      Danke und Gruß, Christian

      Am 25.04.2013 14:40, schrieb Andreas Kossack:
      > Hi,
      >
      >> ich versuche gerade Quota Warning einzurichten, Quota selbst läuft
      >> schon. Ich habe die 90-quota.conf angepasst, Dovecot restartet und
      >> getestet, in dem ich so lange Mails von einem anderen Konto in mein
      >> Konto kopiert habe, bis die 60% Marke überschritten war. Leider kam
      >> keine Warn-Mail und im Log war auch nichts zu sehen. Das Skript
      >> quota-warning.sh habe ich natürlich auch angelegt. Ich bin da gerade
      >> etwas verloren warum das nicht klappt und vor allem wie man das
      >> vernünftig testen kann.
      > Deine „dovecot -n“ Ausgabe zeigt ein wenig merkwürdig:
      >> …
      >> service auth {
      >> unix_listener /var/spool/postfix/private/auth {service quota-warning {
      >> executable = script /usr/local/bin/quota-warning.sh
      >> unix_listener quota-warning {
      >> user = vmail
      >> }
      >> user = dovecot
      >> }
      >> …
      > Ist das wirklich so? Oder nur ein „Copy&Paste“-Versehen?
      >
      > So etwas wie
      >
      > service quota-warning {
      > executable = script /usr/local/bin/quota-warning.sh
      > unix_listener quota-warning {
      > user = vmail
      > }
      > }
      >
      > in „90-quota.conf“ wäre schon gut.
      >
      > Vielleicht sollte dort auch noch ein Eintrag wie
      >
      > quota_rule = *:bytes=1024M
      >
      > ohne Kommentarzeichen davor als Limit gesetzt sein!?
      >
      >
      >
      > _______________________________________________
      > Dovecot Mailingliste
      > JPBerlin – Politischer Provider
      > Dovecot@listen.jpberlin.de
      > https://listen.jpberlin.de/mailman/listinfo/dovecot

      • Peer Heinlein sagt:

        Am 25.04.2013 15:32, schrieb Christian Garling:

        > ich glaub das war ein Copy&Paste Fehler, hier nochmal die 90-quota.conf

        Na, was denn glauben?

        Taucht es bei „doveconf -n“ jetzt so auf, oder taucht es da nicht so auf?

        > service quota-warning {
        > executable = script /usr/local/bin/quota-warning.sh
        > user = dovecot
        > unix_listener quota-warning {
        > user = vmail
        > }
        > }

        Ist das Script a+x ausführbar?

        Hast Du bedacht, daß das Script nur beim Überschreiten der Grenze
        gestartet wird, nicht aber, wenn man sich dauerhaft darüber befindet?

        Hast Du mal durch irgendein einfaches Kommando geprüft, ob das Script
        tatsächlich gar nicht gestartet wird? Sowas wie „logger TEST“ oder so?

        Was steht im Logfile in der Sekunde, wo eine Mail kommt, die die
        60%-Grenze überschreitet?

        Peer


        Heinlein Support GmbH
        Schwedter Str. 8/9b, 10119 Berlin

        http://www.heinlein-support.de

        Tel: 030 / 405051-42
        Fax: 030 / 405051-19

        Zwangsangaben lt. §35a GmbHG: HRB 93818 B / Amtsgericht
        Berlin-Charlottenburg,
        Geschäftsführer: Peer Heinlein — Sitz: Berlin

        • Christian Garling sagt:

          Mahlzeit,

          Am 25.04.2013 23:21, schrieb Peer Heinlein:
          > Am 25.04.2013 15:32, schrieb Christian Garling:
          >
          >
          >> ich glaub das war ein Copy&Paste Fehler, hier nochmal die 90-quota.conf
          > Na, was denn glauben?
          >
          > Taucht es bei „doveconf -n“ jetzt so auf, oder taucht es da nicht so auf?
          Nein, war ein Copy Paste Fehler.

          >
          >> service quota-warning {
          >> executable = script /usr/local/bin/quota-warning.sh
          >> user = dovecot
          >> unix_listener quota-warning {
          >> user = vmail
          >> }
          >> }
          > Ist das Script a+x ausführbar?
          Ja, ist es.
          >
          > Hast Du bedacht, daß das Script nur beim Überschreiten der Grenze
          > gestartet wird, nicht aber, wenn man sich dauerhaft darüber befindet?
          Ja, dessen bin ich mir bewusst. Ich habe die Grenze auf 60% stehen (zum
          Test). Mein eigenes Konto war bei 59%, habe mir dann selber von einem
          externen Konto Mails geschickt, bis ich bei 61% war. Wusste keinen
          besseren Weg. Eine Mail wurde aber nicht ausgelöst, geloggt wurde es
          auch nicht.
          >
          > Hast Du mal durch irgendein einfaches Kommando geprüft, ob das Script
          > tatsächlich gar nicht gestartet wird? Sowas wie „logger TEST“ oder so?
          Manuell funktioniert das Skript, die logger Ausgabe habe ich vor dem
          o.g. Test eingebaut, ist aber nichts geloggt worden.
          >
          > Was steht im Logfile in der Sekunde, wo eine Mail kommt, die die
          > 60%-Grenze überschreitet?
          Siehe oben, nichts zu finden.
          >
          > Peer
          >
          >
          Christian