Dovecot mit MySQL Quota implementieren

facebraker

New Member
Hallo,

ich habe wieder einmal eine Freitag Nachmittags Frage:

Ich setze grad einen lokalen Mail-Server mit Postfix, Dovecot und MySQL auf.
Die ganze Mailkonten,Domain,User Config läuft über MySQL.

Ich möchte nun im Dovecot für jeden Nutzer einen eigene Quota einrichten.

Ich habe im I-Net gefunden, ich muss mit :

Code:
protocol imap {
  mail_plugins = quota imap_quota
}

in der /etc/dovecot/dovecot.conf aktivieren.

Das Netz sagt mir mit "imap quota" bezieht er die Quota Informationen per IMAP???

Muss ich nicht bei der Nutzerabfrage, die Quota mit Abfragen, wie implementiere ich das in die dovecot-sql.conf???

Meine aktuelle dovecot-sql.conf sieht so aus:

Code:
driver = mysql
connect = host=127.0.0.1 dbname=mailserver user=mailuser password=geheim
default_pass_scheme = PLAIN-MD5
password_query = SELECT email as user, password FROM view_users WHERE email='%u';

Was muß ich noch ergänzen, das ich Quotas nutzen kann?

Danke schon mal :-) Hoffe es bei euch nicht so warm wie hier :-(

Gruss Alex
 
Hi Roger,

sorry, dass ich mich erst jetzt melde, bin heute erst wieder dazugekommen mich um den Mailserver zu kümmern.

Entweder es liegt an der Wärme oder ich bin zu blöd.

Wenn ich diese Abfrage mir genauer anschaue ...
Code:
# NOTE: \ line splitting works only with v1.1+. The quota_rule is also for v1.1+.
user_query = SELECT home, uid, gid, \
  '*:storage=100M' as quota_rule, mail_plugins \
  FROM users WHERE userid = '%u'

Liefert er mir doch bei bei "quota_rule" nur "*:storage=100M" zurück, das kann doch nicht stimmen?

Ich wollte so rangehen, dass ich die Usertabelle so modifiziere, dass es noch eine Spalte Quota gibt, aber die wird doch nicht abgefragt?

Gehe ich falsch an die Sache ran und will etwas in der DB abfragen was dort garnicht hinterlegt wird.
Das Dovecot-Wiki k**** mich an ... man bekommt etwas vorgeworfen wie ein Hund und soll sich Gedanken machen, klar man soll sich selber helfen aber nicht so :-(

Hoffe du kannst mir einen Tipp geben?

Gruß Alex
 
Das Dovecot-Wiki finde ich auch nicht so toll. Es koennte wirklich besser sein. Aber ich denke ich kann dir hier etwas weiterhelfen, da ich aehnliches schon mal umgesetzt habe.

Du hast uebrigends recht, in dem Beispiel aus dem Wiki wird die Quota-Regel als gegeben genommen (man koennte sie dann aber auch einfach direkt in der dovecot.conf definieren). Hier wird nichts aus einer SQL-DB genommen.

Als Beispiel mein Query:
Code:
user_query = \
        SELECT 5000 AS uid, 5000 AS gid, '/home/vmail/%d/%n' AS home, \
        concat('*:storage=', quota_mailbox) AS quota_rule,  concat('*:messages=', quota_messages) AS quota_rule2, \
        concat('Trash:storage=', quota_trash) AS quota_rule3, concat('Spam:', quota_spam) AS quota_rule4 \
        FROM users WHERE email = '%u';

Interessant wird es fuer dich ab Zeile 3. Dort siehst du ja das kein fester Wert mit uebergeben wird, sondern dieser aus der Spalte in der DB geholt wird. Das heißt du gibst nur an, welche Informationen aus der DB gezogen werden koennen bzw. laesst ueberpruefen, ob ein Wert vorliegt.

In dem Fall gibt es ein Feld in der DB das sich nennt "quota_mailbox". Dort gilt:

- wenn gleich NULL, dann belasse es beim Standard Quota (wird in der dovecot.conf definiert)
- wenn gleich Wert "0", dann deaktiviere das Quota fuer das Konto
- wenn gleich Wert YX, dann setze ein festes Quota (Beispiel in b/k/M/G/T/%: 100M, 1024k usw.)

Wie du in meinem Beispiel-Query siehst geht das mit jeglichen Regeln. Wie auch im Wiki beschrieben wird haengt man ab der ersten Regel immer die naechste Zahl der Regel dran. Klar soweit?
 
Hey Chris,

das sieht doch mal logisch aus, das mit dem concat, ist mir gestern auch vorgeschwebt, aber mit der GID und UID bzw. des home-dir's ist auch logisch, die sind bei jeder Abfrage gleich , so einfach wie genial. THX.

Ich werde es mal probieren, hoffe ich komme heute dazu.

Vielen, Vielen Dank, das ist viel logischer als das Dovecot-Wiki.
In dem Wiki ist alles irgendwie aus dem Zusammenhang gerissen und total unlogisch es wieder zu verknüpfen :-/

Gruß Alex
 
Hey Chris,

es hat mir in den Fingern gekribbelt und ich mußte es gleich testen :-)
Soweit alles geklappt, ich habe mir noch einen speziellen VIEW für die Quota in MySQL gebaut, der Dovecot startet ohne Fehler.

Aber wie kann ich testen ob es funktioniert, ich habe bei einen User 10M in die Tabelle geschrieben, konnte aber locker 20MB Daten per fetchmail ziehen.

Kann es sein, dass ich den "Prüfteil" konfigueriert habe aber nicht den "Aktion" Teil? habe mir ehrlich gesagt noch nicht so den Kopf gemacht, wie Dovecot reagiert oder reagieren sollte :-/ , schon ein bisschen blauäugig ;-)
Habe aber im Dovecot-Wiki unter Quota nicht so recht was gefunden, wie hast du es bei Dir geregelt?

Ich weiß das was fehlt, aber finde keinen Ansatzpunkt :-O

Danke

Gruß Alex
 
Naja im Regelfall hast du doch sicher einen Mail-Client(vielleicht sogar ein Webmail, z.B. Horde) wo du dir den Quota-Status anzeigen lassen kannst. Damit kannst du ja schnell deinen Erfolg feststellen.

Wenn nichts angezeigt wird hast du sicher vergessen wichtige Funktionen in der dovecot.conf zu konfigurieren. Ich zaehle mal auf, was du dort konfigurieren koenntest (die wesentlichen Funktionen). Als Beispiel nehme ich wieder meine Konfiguration.

dovecot.conf:
1. protocol imap
Code:
mail_plugins = quota imap_quota

2. protocol pop3
Code:
mail_plugins = quota

3. protocol lda
Code:
mail_plugins = quota
quota_full_tempfail = yes

4. plugin
Bemerkung: Die Zeile 1. sollte wohl in jedem Fall aufgenommen werden. Die restlichen Zeilen definieren das Standard-Quota und Quota-Warnungen (gibt es glaube ich ab Version 1.2.*) die ich bei Verwendung von Quota fuer wichtig erachte.
Code:
quota = maildir:User quota

quota_rule = *:storage=600M
quota_rule2 = *:messages=0
quota_rule3 = Trash:storage=60M
quota_rule4 = Spam:ignore

quota_warning = storage=98%% /usr/local/bin/quota-warning.sh 98 %u
quota_warning2 = storage=95%% /usr/local/bin/quota-warning.sh 95 %u
quota_warning3 = storage=80%% /usr/local/bin/quota-warning.sh 80 %u

Ich hoffe es klappt nun bei dir. Da steckt sonst nichts dahinter. :)
 
aber mit der GID und UID bzw. des home-dir's ist auch logisch, die sind bei jeder Abfrage gleich , so einfach wie genial.
Warum setzt du diese Werte dann nicht einfach direkt in der dovecot.conf, wenn sie sich nicht ändern?

ich habe bei einen User 10M in die Tabelle geschrieben, konnte aber locker 20MB Daten per fetchmail ziehen.
Die Quota wird natürlich nur bei Nutzung des Dovecot MDAs beachtet.
 
Hallo, ein wunderschöner warmer Tag und ich kämpfe wieder mit einen Mail-Server ;-)
Erst einmal die Fragen:

Warum setzt du diese Werte dann nicht einfach direkt in der dovecot.conf, wenn sie sich nicht ändern?

Schon richtig Roger, aber die GID & UID bleiben gleich in den Homes, die Verzeichnisse, sie gehören vmail.vmail mit der UID & GID 5000.
Das Home-Dir bleibt auch gleich bis auf die Platzhalter %d und %u für Domain und user, was wichtig ist, in der Tabelle, der Nutzer email@domain.tld und die Werte für die Quotas, ich frage ja auf übereinstimmenden User ab nicht nach GID oder UID.

Die Quota wird natürlich nur bei Nutzung des Dovecot MDAs beachtet.

Als MDA nutze ich Dovecot und als MTA Postfix, oder irre ich mich, ich frage die Emails per IMAP = Dovecot ab. Geliefert werden sie vom Postfix / fetchmail - das an Postfix zustellt.

@Chris, gestern stand ich am Abgrund, heute bin ich einen Schritt weiter *lach*
Ich habe die dovecot.conf ergänzt, ich hatte das plugin vergessen, ABER

wenn ich mich per Imap einlogge kommt folgender Fehler in der mail.info:

Code:
Jul 16 12:17:53 email dovecot: auth-worker(default): mysql: Connected to 127.0.0.1 (mailserver)
Jul 16 12:18:50 email dovecot: IMAP(john@example.com): [B]maildir quota: Unknown setting: User quota[/B]

Vermutlich stimmt da was mit dem Plugin nicht ... *Räusper* ... bitte nicht ohrfeigen, aber muss ich das Plugin nicht installieren:( Wenn ja war es die Wärme ;-)

Ich habe es genauso eingefügt wie du es geschrieben hast.


Grüße aus den heißen Deutschland

Alex
 
Das Home-Dir bleibt auch gleich bis auf die Platzhalter %d und %u für Domain und user, was wichtig ist, in der Tabelle, der Nutzer email@domain.tld und die Werte für die Quotas, ich frage ja auf übereinstimmenden User ab nicht nach GID oder UID.
Eben, und daher die Frage, weshalb du diese Werte nicht einfach in der dovecot.conf setzt, anstatt die SQL-Abfrage zu vergewaltigen. :rolleyes:

Als MDA nutze ich Dovecot und als MTA Postfix, oder irre ich mich
Das musst du mir sagen können. Wenn du die E-Mails z. B. von virtual(8) ausliefern lässt, greift die Dovecot Quota natürlich nicht.
 
Hi Roger,

sorry, ich glaube ich habe es falsch erklärt.

Eben, und daher die Frage, weshalb du diese Werte nicht einfach in der dovecot.conf setzt, anstatt die SQL-Abfrage zu vergewaltigen. :rolleyes:.

Ich möchte für jeden Benutzer eine andere Quota einstellen, deshlab die Quota Tabelle, je nach Nutzer ist die Quota anders.
Zur Erklärung, ich habe 2 Arten von Nutzern:

a) die Sammeln die Emails, es wird keine Mail gelöscht, es sind MB-Große Anhänge an den Emails, es liegt Werbung im Postfach etc.pp. Sie nutzen den Email-Account als Ablage, die sie nie aufräumen (ich nenne sie liebevoll Email-Messis). Es werden gerne Emails mit allen Leuten, von denen Sie mal gehört haben CC weiterverschickt, wenn es Nutzer der Sorte a) sind, achten sie nicht auf den Verteiler, sondern schicken die Email nochmal an die gleichen Leute wie schon in CC steht, eine schöne Kaskade, erschwerend kommt hinzu, das Messi-Syndrom keine Email löschen ;-)

b) für diese Nutzer dient der Account zum dokumentieren, z.B. für ein Projekt, sie können die Emails nicht löschen, weil sie sie noch im Projekt brauchen und recherchieren müssen, die Emails sind korrekt in Unterordner zu den Projekten einsortiert. Aber da weiß ich die Emails sind sehr wichtig und gut sortiert.

Wenn ich die allgemeine Quota sehr klein mache, um den Nutzern a) einhalt zu gebieten (SAN-Speicher ist ja nicht gerade billig), aber da melden sich dann Nutzer b) das sie keinen Platz haben.
Mache ich die allgemeine Quota so groß das die Nutzer b) aussreichend Platz haben, kann ich sicher sein das Nutzer a) den Platz auch ohne Mühe mit sinnlosen Mails und CC-Kaskaden auch voll bekommen, was mir wieder teuren Speicher kostet.

Darum möchte ich eine Nutzerspezifische Quota um das zu steuern.
Ich lasse mich aber auch etwas besseren belehren.


Das musst du mir sagen können. Wenn du die E-Mails z. B. von virtual(8) ausliefern lässt, greift die Dovecot Quota natürlich nicht.

Nein ich nutze Dovecot als MDA fürs IMAP.
Klar weiß ich es, du hast mich bloß ein bisschen verunsichert ;-) *auf die Wärme schieb*

Gruß Alex
 
Ich glaube du hast Roger Wilco falsch verstanden. Er bezog sich auf die Angabe von uid und gid in dem SQL-Query. Die Werte veraendern sich nie. Die kannst du natuerlich auch in der Konfiguration (dovecot.conf) unterbringen. Schau dir dazu mal "mail_uid, mail_gid, mail_privileged_group und userdb static" an. Bei mir ist das so gewachsen und sollte bei Gelegenheit auch mal angepasst werden.

Vermutlich stimmt da was mit dem Plugin nicht ... *Räusper* ... bitte nicht ohrfeigen, aber muss ich das Plugin nicht installieren Wenn ja war es die Wärme ;-)

Wenn du nichts vergessen hast, tippe ich auf eine aeltere Dovecot Version. Ich setze zurzeit Version 1.2.12 ein. Welche setzt du ein?

Die Konfiguration fuer Quota sah fruher moeglicherweise anders aus. Schau dazu bitte mal in das Wiki (z.B. v1.0 quota configuration, v1.1 quota configuration)
 
Hallo Chris,

sorry, dass ich erst so spät schreibe.
Das mit der Version ist mir Freitag 16Uhr auch eingefallen und natürlich hatte ich die ältere Version:rolleyes:
Beim upgraden ist mir dann alles um die Ohren geflogen :rolleyes: ... kein Problem, ist ja ne VM gewesen, hätte ich zurücksetzen können, aber ich will ja was lernen und wollte den Server nochmal von Anfang an neu machen.

Also habe ich parallel einen Server einrichten wollen, als ich dann merkte dass ich keine LUNs auf der SAN ansprechen kann, hab ich mich bis 19Uhr mit dem Storage und VMware beschäftigt ... da laufen ja auch einige Produktivsysteme mit LUN Zugriff (der zum Glück geht ... kann bloß keine neuen Raw-Devices hinzufügen) ... okay ich schweife ab.
Ich kläre das andere Problem, dann setze ich den Server neu auf und mit der neuesten Version!!!

Ich habe so im Bauchgefühl, dass es klappen wird ;-)

Ich halte den Thread aktuell....

Gruß Alex
 
Hallo liebes Forum,

das Problem mit der SAN, VMware und LUNs konnte ich mit den Support lösen.
Ich habe nun den Server neu aufgesetzt und ein komisches Problem.
Mit der neuen Version von Dovecot (v1.2.11) kommen keine Mails an, Postfix bringt folgende Fehlermeldungen:

Code:
Jul 19 17:19:22 email-svrapro postfix/pipe[6214]: 59C8C82B8: to=<john@example.com>, relay=dovecot, delay=28, delays=28/0.02/0/0.1, dsn=4.3.0, status=deferred (temporary failure)
Jul 19 17:19:33 email-svrapro postfix/smtpd[6199]: disconnect from localhost[127.0.0.1]

Wie schon gesagt, ich hole die Mails mit Fetchmail ab und stelle sie lokal zu.

Ich habe noch noch einmal den zerschossenen Server das Snapshot wiederhergestellt, mit der alten Dovecot-Version lief er, dann habe ich Dovecot auf Version 1.2.11 upgedatet und schon kommen die gleichen Fehlermeldungen.

Ich vermute es ist ein Problem das in der maser.cf die falschen Parameter für den Dovecot drin stehen, hier nocheinmal meine master.cf:

Code:
smtp      inet  n       -       -       -       -       smtpd
#submission inet n       -       -       -       -       smtpd
#  -o smtpd_tls_security_level=encrypt
#  -o smtpd_sasl_auth_enable=yes
#  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING
#smtps     inet  n       -       -       -       -       smtpd
#  -o smtpd_tls_wrappermode=yes
#  -o smtpd_sasl_auth_enable=yes
#  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING
#628      inet  n       -       -       -       -       qmqpd
dovecot   unix  -       n       n       -       -       pipe
    flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -d ${recipient}
pickup    fifo  n       -       -       60      1       pickup
cleanup   unix  n       -       -       -       0       cleanup
qmgr      fifo  n       -       n       300     1       qmgr
#qmgr     fifo  n       -       -       300     1       oqmgr
tlsmgr    unix  -       -       -       1000?   1       tlsmgr
rewrite   unix  -       -       -       -       -       trivial-rewrite
bounce    unix  -       -       -       -       0       bounce
defer     unix  -       -       -       -       0       bounce
trace     unix  -       -       -       -       0       bounce
verify    unix  -       -       -       -       1       verify
flush     unix  n       -       -       1000?   0       flush
proxymap  unix  -       -       n       -       -       proxymap
proxywrite unix -       -       n       -       1       proxymap
smtp      unix  -       -       -       -       -       smtp
# When relaying mail as backup MX, disable fallback_relay to avoid MX loops
relay     unix  -       -       -       -       -       smtp
        -o smtp_fallback_relay=
#       -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq     unix  n       -       -       -       -       showq
error     unix  -       -       -       -       -       error
retry     unix  -       -       -       -       -       error
discard   unix  -       -       -       -       -       discard
local     unix  -       n       n       -       -       local
virtual   unix  -       n       n       -       -       virtual
lmtp      unix  -       -       -       -       -       lmtp
anvil     unix  -       -       -       -       1       anvil
scache    unix  -       -       -       -       1       scache

# ====================================================================
# Interfaces to non-Postfix software. Be sure to examine the manual
# pages of the non-Postfix software to find out what options it wants.
#
# Many of the following services use the Postfix pipe(8) delivery
# agent.  See the pipe(8) man page for information about ${recipient}
# and other message envelope options.
# ====================================================================
#
# maildrop. See the Postfix MAILDROP_README file for details.
# Also specify in main.cf: maildrop_destination_recipient_limit=1
#
maildrop  unix  -       n       n       -       -       pipe
  flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
#
# See the Postfix UUCP_README file for configuration details.
#
uucp      unix  -       n       n       -       -       pipe
  flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
#
# Other external delivery methods.
#
ifmail    unix  -       n       n       -       -       pipe
  flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp     unix  -       n       n       -       -       pipe
  flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
scalemail-backend unix  -       n       n       -       2       pipe
  flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
mailman   unix  -       n       n       -       -       pipe
  flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
  ${nexthop} ${user}

Ich kann das Problem zwar auf Dovecot einschränken, aber nicht an was es genau liegt.

Hoffe jmd. hat eine Idee.Danke schön!

Gruß Alex

PS: habe nochmal die Log-Datei des Postfix angehangen.
 

Attachments

Last edited by a moderator:
Ergänzung:

ich habe mal das Logging für Dovecot aktiviert, aber es kommt nix, also vermute ich , dass die Mails nicht korrekt an dovecot weiter gereicht werden, kann mir jemand einen Tipp geben, Chris?

Bei Dir läuft es doch mit dem aktuellen Dovecot.

Danke!
 
Mit den wenigen Informationen kann ich kaum etwas anfangen. Wenn du doch die Dovecot-Logs aktiviert hast, dann poste die doch mal und schau bitte im Fall einer nicht durch Dovecot zustellbaren Mail in deine "Mail-Queue" (mailq).

Was mir aber so schon auffaelt:

1. In der master.cf: Du hast die zwei Dovecot Zeilen ziemlich weit oben hinzugefuegt, anstatt in den dafuer vorgesehenen Bereich. Vielleicht ergibt sich alleine daraus das Problem. Falls nicht, dann wuerde ich die Zeilen weiter unten hinzufuegen, damit es uebersichtlich bleibt.

Beispiel:
Code:
[...]

discard   unix  -       -       -       -       -       discard
local     unix  -       n       n       -       -       local
virtual   unix  -       n       n       -       -       virtual
lmtp      unix  -       -       -       -       -       lmtp
anvil     unix  -       -       -       -       1       anvil
scache    unix  -       -       -       -       1       scache


# ====================================================================
# Interfaces to non-Postfix software. Be sure to examine the manual
# pages of the non-Postfix software to find out what options it wants.
#
[...]

# Dovecot LDA
dovecot   unix  -       n       n       -       -       pipe
    flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -d ${recipient}
retry     unix  -       -       -       -       -       error

[...]

2. Bitte in der dovecot.conf einmal im Bereich "Logging", detaillierte Logs aktivieren um das Problem genau nachzuvollziehen. Und auch dran denken "mailq" zu pruefen.

Code:
[...]
log_path = /var/log/dovecot_error.log
info_log_path = /var/log/dovecot_deliver.log
[...]

Je nachdem kannst du auch mal weitere Funktionen scharf stellen und sehen, ob du da mehr Infos erhaelst. Beispiel aus der dovecot.conf: auth_verbose, auth_debug, mail_debug, verbose_ssl usw.
 
Hi Chris,

danke für die Tipps, ich bin schon einen Schritt weiter, ich habe Fehler in den Logs bekommen bzw. die Logs gefunden.

Leider habe ich jetzt noch einen Termin, ich probiere morgen die Fehler einzugrenzen und Poste die Logs dann morgen nocheinmal, schaffe ich jetzt leider nicht :-(

Vielen Dank!!!

Gruss ALex
 
Hallo Chris,

der Tipp mit dem Logging war perfekt, ich habe es wirklich nicht gefunden oder übersehen, mit korrekten Logs, hat sich der Fheler immer weiter eingrenzen lassen.

Zuerst hat ein Plugin dazwischen gefunkt, dann eine Auth-Konfiguration (die ich noch checken muss)
Das hat natürlich dazu geführt, dass Dovecot nicht lief, bitte fragt nicht warum ich das nicht bemerkt habe, ich hätte mal in die Prozesse gucken sollen :mad:

Jetzt läuft der Dovecot, das Quota konnte ich auch aktivieren.
ABER (Sorry das wars noch nicht)
Es funktioniert nur die Standard Quot, die in der dovecot.conf definiert wurde:

Code:
quota = maildir:User quota
quota_rule = *:storage=600M
quota_rule2 = *:messages=0
quota_rule3 = Trash:storage=60M
quota_rule4 = Spam:ignore
quota_warning = storage=95%% /home/vmail/quota-warning.sh 95
quota_warning2 = storage=80%% /home/vmail/quota-warning.sh 80

Er holt mir die Quota Einstellung nicht aus der MySQL DB.
Beim Start von Dovecot kommt das:

Code:
Restarting IMAP/POP3 mail server: dovecotILoading modules from directory: /usr/lib/dovecot/modules/imap
IModule loaded: /usr/lib/dovecot/modules/imap/lib10_quota_plugin.so
IModule loaded: /usr/lib/dovecot/modules/imap/lib11_imap_quota_plugin.so
IEffective uid=65534, gid=65534, home=/tmp
IQuota root: name=User quota backend=maildir args=
IQuota rule: root=User quota mailbox=* bytes=629145600 messages=0
IQuota rule: root=User quota mailbox=* bytes=629145600 messages=0
IQuota rule: root=User quota mailbox=Trash bytes=62914560 messages=0
IQuota rule: root=User quota mailbox=Spam ignored
IQuota warning: bytes=597688320 (95%) messages=0 command=/home/vmail/quota-warning.sh 95
IQuota warning: bytes=503316480 (80%) messages=0 command=/home/vmail/quota-warning.sh 80

Ich denke mal da sieht gut aus, wobei ich mit dem IEffective nichts anfangen kann, sollte das nicht auf 5000:5000 stehen?

Die Config in der dovecot-sql.conf sieht folgendermaßen aus:

Code:
driver = mysql
connect = host=127.0.0.1 dbname=mailserver user=USERNAME password=PASSWORT
default_pass_scheme = PLAIN-MD5
password_query = SELECT email as user, password FROM view_users WHERE email='%u';


user_query = SELECT 5000 AS uid, 5000 AS gid, '/home/vmail/%d/%n' AS home,concat('*:storage=', quota_mailbox) AS quota_rule,  concat('*:messages=', quota_messages) AS quota_rule2,concat('Trash:storage=', quo
ta_trash) AS quota_rule3, concat('Spam:', quota_spam) AS quota_rule4 FROM view_users_quota WHERE email = '%u';

Wenn ich den View abfrage, dann kommt das:

Code:
+------+------+-------------------+---------------+-------------+-------------+-------------+
| uid  | gid  | home              | quota_rule    | quota_rule2 | quota_rule3 | quota_rule4 |
+------+------+-------------------+---------------+-------------+-------------+-------------+
| 5000 | 5000 | /home/vmail/%d/%n | *:storage=10M | NULL        | NULL        | NULL        |
+------+------+-------------------+---------------+-------------+-------------+-------------+

Sollte auch korrekt sein? Oder stören die NULL in den restlichen Feldern?

Muss ich in der Dovecot-Konfiguration noch etwas angeben, das er die user_query nutzt, kann ich das auch irgendwie loggen? In den Logs erscheint nichts kritisches :-(

Aber ich bin erstmal paar schritte weiter ... mit Logs - kommt man langsam zum Ziel ;-)

Danke Dir schonmal

Gruß Alex
 
BINGO
wenn man es nochmal beschreibt und so weiter, dann beantwortet man sich die Fragen dann selber ;-)

Ich habe in der dovecot.conf noch drin stehen gehabt:

Code:
userdb static {
   args = uid=5000 gid=5000 home=/home/vmail/%d/%n allow_all_users=yes
}


Da war es ja klar, dass er die Tabelle nicht nutzt, ich habe es auf:

Code:
userdb sql {
     args = /etc/dovecot/dovecot-sql.conf
}

umgestellt, ZACK hat es funktioniert.

Vielen Dank, das hat echt spaß gemacht, finde solche Probleme lästig, aber man lernt ungemein daraus, du hast mir zwar viele Tipps geben, eigentlich das Meiste, aber man muß ja noch ein bisschen Grips anwenden um es zu nutzen ...Danke!!!

Jetzt kümmer ich mich mal um das Postfix-Auth Problem ... mal gucken, vieleicht benötige ich ja auch nochmal Tipps ...


Schönes Wochenende!!!

Gruß Alex
 
Schoen das es funtkioniert hat. Wenn du den Dreh bei Dovecot erst mal raus hast, wirst du auch deine restlichen Probleme loesen koennen. :-)
 
Back
Top