Christian Kivalo
2017-Jan-31 22:20 UTC
quota-status returns quota_status_success when email would put user over quota
Am 31. J?nner 2017 16:36:35 MEZ schrieb Kristian Pedersen <kp at asom-net.dk>:>Hi list, > >We still did not manage to get quota-status working. >We're hoping someone can provide some feedback/ideas on how we may >investigate this issue further? >Is it likely to be a bug fixed in a newer version? > >Regards, > >Kristian > >[...]>> >> Quota-status will return unknown user if that is the case: >> root at mail:~# printf >> "recipient=kptest2 at asom-net.dk\nsize=1000000000\n\n" | nc -q1 >> localhost 12340 >> action=551 5.5.1 User not found >>Tried this and works here. Doveconf -n output with regards to quota settings is very similar, i use a quota dict, not maildir, spotted one difference i commented in your doveconf -n and i'm using version 2.2.27 from source ...>> >> dovecot -n: >> # 2.2.13: /etc/dovecot/dovecot.conf >> # OS: Linux 3.16.0-4-amd64 x86_64 Debian 8.6 ext4 >> auth_default_realm = vejen-net.dk >> auth_mechanisms = plain login >> auth_verbose = yes >> disable_plaintext_auth = no >> first_valid_uid = 110 >> log_timestamp = "%Y-%m-%d %H:%M:%S " >> mail_debug = yes >> mail_location = maildir:/data/vmail/%d/%n/The one line i'm missing here from your doveconf -n output is mail_plugins = " quota" set in conf.d/10-mail.conf Have you added quota to the global mail plugins setting? http://wiki2.dovecot.org/Quota>> mail_privileged_group = mail >> 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/local-sql.conf >> driver = sql >> } >> plugin { >> quota = maildir:User quota >> quota_rule = *:storage=200M >> quota_status_nouser = 551 5.5.1 User not found >> quota_status_overquota = 552 5.2.2 Mailbox is full >> quota_status_success = DUNNO >> } >> protocols = imap pop3 >> service auth { >> unix_listener /var/spool/postfix/private/auth { >> group = postfix >> mode = 0660 >> user = postfix >> } >> unix_listener auth-master { >> mode = 0600 >> user = vmail >> } >> user = root >> } >> service imap-login { >> client_limit = 1024 >> process_limit = 256 >> process_min_avail = 8 >> service_count = 0 >> vsz_limit = 512 M >> } >> service imap { >> process_limit = 10240 >> } >> service pop3-login { >> client_limit = 512 >> process_limit = 256 >> process_min_avail = 8 >> service_count = 0 >> vsz_limit = 512 M >> } >> service pop3 { >> process_limit = 10240 >> } >> service quota-status { >> client_limit = 1 >> executable = /usr/lib/dovecot/quota-status -p postfix >> inet_listener { >> port = 12340 >> } >> } >> ssl_cert = </etc/letsencrypt/live/mail.asom-net.dk/fullchain.pem >> ssl_key = </etc/letsencrypt/live/mail.asom-net.dk/privkey.pem >> ssl_prefer_server_ciphers = yes >> userdb { >> args = /etc/dovecot/local-sql.conf >> driver = sql >> } >> protocol lda { >> auth_socket_path = /var/run/dovecot/auth-master >> mail_plugins = quota >> postmaster_address = postmaster at asom-net.dk >> } >> protocol imap { >> mail_plugins = quota imap_quota >> } >> protocol pop3 { >> mail_plugins = quota >> pop3_uidl_format = %08Xu%08Xv >> } >> >> >> local-sql.conf: >> driver = mysql >> connect = host=xyz dbname=xyz user=xyz password=xyz >> default_pass_scheme = CRYPT >> password_query = SELECT email as user, password FROM virtual_users >> WHERE email='%u'; >> user_query = SELECT >> >CONCAT('/data/vmail/',CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1))) > >> AS home, 110 AS uid, 110 AS gid, CONCAT('*:storage=',mailquota,'M') >AS >> quota_rule FROM virtual_users WHERE email='%u'; >> >> If I do a strace on the quota-status PID, it seems to do a stat on >the >> directory and then give up? Not sure Im interpreting it correct (only > >> including the last few lines): >> ... >> lseek(14, 833, SEEK_SET) = 833 >> munmap(0x7f165d32a000, 833) = 0 >> close(14) = 0 >> geteuid() = 0 >> getegid() = 110 >> getgid() = 110 >> getegid() = 110 >> setgroups(1, [110]) = 0 >> setresuid(-1, 110, -1) = 0 >> prctl(PR_SET_DUMPABLE, 1) = 0 >> stat("/data/vmail/asom-net.dk/kptest", {st_mode=S_IFDIR|0700, >> st_size=4096, ...}) = 0 >> prctl(PR_SET_DUMPABLE, 1) = 0 >> setsockopt(12, SOL_TCP, TCP_CORK, [1], 4) = 0 >> write(12, "action=DUNNO\n\n", 14) = 14 >> setsockopt(12, SOL_TCP, TCP_CORK, [0], 4) = 0 >> epoll_wait(11, {{EPOLLIN, {u32=1593554016, u64=139734059562080}}}, 5, > >> 59999) = 1 >> read(12, "", 8146) = 0 >> epoll_ctl(11, EPOLL_CTL_DEL, 12, 7fff0be817a0) = 0 >> close(12) = 0 >> epoll_wait(11, {}, 5, 1000) = 0 >> write(5, "\35q\1\0007\10\0\0\1\0\0\0", 12) = 12 >> epoll_wait(11, >> ... >> >> It seems like sort of permission issue? >> root at mail:~# su - vmail >> No directory, logging in with HOME=/ >> $ id -a >> uid=110(vmail) gid=110(vmail) groups=110(vmail) >> $ cat /data/vmail/asom-net.dk/kptest/maildirsize >> 524288000S >> 685 1 >> 690 1 >> >> /data/vmail/asom-net.dk is actually a symlink, maybe that could be of > >> importance?: >> root at mail:~# ls -ld /data/vmail/asom-net.dk >> lrwxrwxrwx 1 root root 19 Jan 9 11:18 /data/vmail/asom-net.dk -> >> ../mnt1/asom-net.dk >> >> root at mail:~# ls -ld /data/mnt1/asom-net.dk/ >> drwxrwx--- 45 vmail vmail 4096 Dec 15 10:54 /data/mnt1/asom-net.dk/ >> >> root at mail:~# ls -ld /data/mnt1/asom-net.dk/kptest/ >> drwx------ 9 vmail vmail 4096 Jan 23 08:55 >/data/mnt1/asom-net.dk/kptest/ >> >> root at mail:~# ls -ld /data/mnt1/asom-net.dk/kptest/maildirsize >> -rw------- 1 vmail vmail 23 Jan 12 16:50 >> /data/mnt1/asom-net.dk/kptest/maildirsize >> >> Anyone have any idea what might be wrong here? >> >> Regards, >>-- Christian Kivalo
Aki Tuomi
2017-Feb-01 07:34 UTC
quota-status returns quota_status_success when email would put user over quota
Steps to setup quota with status: mail_plugins = $mail_plugins quota protocol imap { mail_plugins = $mail_plugins imap_quota } service quota-status { executable = quota-status -p postfix inet_listener { port = 12340 # You can choose any port you want } client_limit = 1 } plugin { quota = count:User quota # or some other backend quota_rule = *:storage=10M # or from userdb quota_grace = 10%% # 10% is the default quota_status_success = DUNNO quota_status_nouser = DUNNO quota_status_overquota = "552 5.2.2 Mailbox is full" quota_vsizes = yes } On 01.02.2017 00:20, Christian Kivalo wrote:> > Am 31. J?nner 2017 16:36:35 MEZ schrieb Kristian Pedersen <kp at asom-net.dk>: >> Hi list, >> >> We still did not manage to get quota-status working. >> We're hoping someone can provide some feedback/ideas on how we may >> investigate this issue further? >> Is it likely to be a bug fixed in a newer version? >> >> Regards, >> >> Kristian >> >> > [...] > >>> Quota-status will return unknown user if that is the case: >>> root at mail:~# printf >>> "recipient=kptest2 at asom-net.dk\nsize=1000000000\n\n" | nc -q1 >>> localhost 12340 >>> action=551 5.5.1 User not found >>> > Tried this and works here. Doveconf -n output with regards to quota settings is very similar, i use a quota dict, not maildir, spotted one difference i commented in your doveconf -n and i'm using version 2.2.27 from source > ... >>> dovecot -n: >>> # 2.2.13: /etc/dovecot/dovecot.conf >>> # OS: Linux 3.16.0-4-amd64 x86_64 Debian 8.6 ext4 >>> auth_default_realm = vejen-net.dk >>> auth_mechanisms = plain login >>> auth_verbose = yes >>> disable_plaintext_auth = no >>> first_valid_uid = 110 >>> log_timestamp = "%Y-%m-%d %H:%M:%S " >>> mail_debug = yes >>> mail_location = maildir:/data/vmail/%d/%n/ > The one line i'm missing here from your doveconf -n output is mail_plugins = " quota" set in conf.d/10-mail.conf > > Have you added quota to the global mail plugins setting? http://wiki2.dovecot.org/Quota > >>> mail_privileged_group = mail >>> 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/local-sql.conf >>> driver = sql >>> } >>> plugin { >>> quota = maildir:User quota >>> quota_rule = *:storage=200M >>> quota_status_nouser = 551 5.5.1 User not found >>> quota_status_overquota = 552 5.2.2 Mailbox is full >>> quota_status_success = DUNNO >>> } >>> protocols = imap pop3 >>> service auth { >>> unix_listener /var/spool/postfix/private/auth { >>> group = postfix >>> mode = 0660 >>> user = postfix >>> } >>> unix_listener auth-master { >>> mode = 0600 >>> user = vmail >>> } >>> user = root >>> } >>> service imap-login { >>> client_limit = 1024 >>> process_limit = 256 >>> process_min_avail = 8 >>> service_count = 0 >>> vsz_limit = 512 M >>> } >>> service imap { >>> process_limit = 10240 >>> } >>> service pop3-login { >>> client_limit = 512 >>> process_limit = 256 >>> process_min_avail = 8 >>> service_count = 0 >>> vsz_limit = 512 M >>> } >>> service pop3 { >>> process_limit = 10240 >>> } >>> service quota-status { >>> client_limit = 1 >>> executable = /usr/lib/dovecot/quota-status -p postfix >>> inet_listener { >>> port = 12340 >>> } >>> } >>> ssl_cert = </etc/letsencrypt/live/mail.asom-net.dk/fullchain.pem >>> ssl_key = </etc/letsencrypt/live/mail.asom-net.dk/privkey.pem >>> ssl_prefer_server_ciphers = yes >>> userdb { >>> args = /etc/dovecot/local-sql.conf >>> driver = sql >>> } >>> protocol lda { >>> auth_socket_path = /var/run/dovecot/auth-master >>> mail_plugins = quota >>> postmaster_address = postmaster at asom-net.dk >>> } >>> protocol imap { >>> mail_plugins = quota imap_quota >>> } >>> protocol pop3 { >>> mail_plugins = quota >>> pop3_uidl_format = %08Xu%08Xv >>> } >>> >>> >>> local-sql.conf: >>> driver = mysql >>> connect = host=xyz dbname=xyz user=xyz password=xyz >>> default_pass_scheme = CRYPT >>> password_query = SELECT email as user, password FROM virtual_users >>> WHERE email='%u'; >>> user_query = SELECT >>> >> CONCAT('/data/vmail/',CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1))) >> >>> AS home, 110 AS uid, 110 AS gid, CONCAT('*:storage=',mailquota,'M') >> AS >>> quota_rule FROM virtual_users WHERE email='%u'; >>> >>> If I do a strace on the quota-status PID, it seems to do a stat on >> the >>> directory and then give up? Not sure Im interpreting it correct (only >>> including the last few lines): >>> ... >>> lseek(14, 833, SEEK_SET) = 833 >>> munmap(0x7f165d32a000, 833) = 0 >>> close(14) = 0 >>> geteuid() = 0 >>> getegid() = 110 >>> getgid() = 110 >>> getegid() = 110 >>> setgroups(1, [110]) = 0 >>> setresuid(-1, 110, -1) = 0 >>> prctl(PR_SET_DUMPABLE, 1) = 0 >>> stat("/data/vmail/asom-net.dk/kptest", {st_mode=S_IFDIR|0700, >>> st_size=4096, ...}) = 0 >>> prctl(PR_SET_DUMPABLE, 1) = 0 >>> setsockopt(12, SOL_TCP, TCP_CORK, [1], 4) = 0 >>> write(12, "action=DUNNO\n\n", 14) = 14 >>> setsockopt(12, SOL_TCP, TCP_CORK, [0], 4) = 0 >>> epoll_wait(11, {{EPOLLIN, {u32=1593554016, u64=139734059562080}}}, 5, >>> 59999) = 1 >>> read(12, "", 8146) = 0 >>> epoll_ctl(11, EPOLL_CTL_DEL, 12, 7fff0be817a0) = 0 >>> close(12) = 0 >>> epoll_wait(11, {}, 5, 1000) = 0 >>> write(5, "\35q\1\0007\10\0\0\1\0\0\0", 12) = 12 >>> epoll_wait(11, >>> ... >>> >>> It seems like sort of permission issue? >>> root at mail:~# su - vmail >>> No directory, logging in with HOME=/ >>> $ id -a >>> uid=110(vmail) gid=110(vmail) groups=110(vmail) >>> $ cat /data/vmail/asom-net.dk/kptest/maildirsize >>> 524288000S >>> 685 1 >>> 690 1 >>> >>> /data/vmail/asom-net.dk is actually a symlink, maybe that could be of >>> importance?: >>> root at mail:~# ls -ld /data/vmail/asom-net.dk >>> lrwxrwxrwx 1 root root 19 Jan 9 11:18 /data/vmail/asom-net.dk -> >>> ../mnt1/asom-net.dk >>> >>> root at mail:~# ls -ld /data/mnt1/asom-net.dk/ >>> drwxrwx--- 45 vmail vmail 4096 Dec 15 10:54 /data/mnt1/asom-net.dk/ >>> >>> root at mail:~# ls -ld /data/mnt1/asom-net.dk/kptest/ >>> drwx------ 9 vmail vmail 4096 Jan 23 08:55 >> /data/mnt1/asom-net.dk/kptest/ >>> root at mail:~# ls -ld /data/mnt1/asom-net.dk/kptest/maildirsize >>> -rw------- 1 vmail vmail 23 Jan 12 16:50 >>> /data/mnt1/asom-net.dk/kptest/maildirsize >>> >>> Anyone have any idea what might be wrong here? >>> >>> Regards, >>>
Aki Tuomi
2017-Feb-01 07:37 UTC
quota-status returns quota_status_success when email would put user over quota
Forgot to add the postfix config: smtpd_recipient_restrictions ... check_policy_service inet:localhost:12340 Aki On 01.02.2017 09:34, Aki Tuomi wrote:> Steps to setup quota with status: > > mail_plugins = $mail_plugins quota > > protocol imap { > mail_plugins = $mail_plugins imap_quota > } > > service quota-status { > executable = quota-status -p postfix > inet_listener { > port = 12340 # You can choose any port you want > } > client_limit = 1 > } > > plugin { > quota = count:User quota # or some other backend > quota_rule = *:storage=10M # or from userdb > quota_grace = 10%% > # 10% is the default > quota_status_success = DUNNO > quota_status_nouser = DUNNO > quota_status_overquota = "552 5.2.2 Mailbox is full" > quota_vsizes = yes > } > > > On 01.02.2017 00:20, Christian Kivalo wrote: >> Am 31. J?nner 2017 16:36:35 MEZ schrieb Kristian Pedersen <kp at asom-net.dk>: >>> Hi list, >>> >>> We still did not manage to get quota-status working. >>> We're hoping someone can provide some feedback/ideas on how we may >>> investigate this issue further? >>> Is it likely to be a bug fixed in a newer version? >>> >>> Regards, >>> >>> Kristian >>> >>> >> [...] >> >>>> Quota-status will return unknown user if that is the case: >>>> root at mail:~# printf >>>> "recipient=kptest2 at asom-net.dk\nsize=1000000000\n\n" | nc -q1 >>>> localhost 12340 >>>> action=551 5.5.1 User not found >>>> >> Tried this and works here. Doveconf -n output with regards to quota settings is very similar, i use a quota dict, not maildir, spotted one difference i commented in your doveconf -n and i'm using version 2.2.27 from source >> ... >>>> dovecot -n: >>>> # 2.2.13: /etc/dovecot/dovecot.conf >>>> # OS: Linux 3.16.0-4-amd64 x86_64 Debian 8.6 ext4 >>>> auth_default_realm = vejen-net.dk >>>> auth_mechanisms = plain login >>>> auth_verbose = yes >>>> disable_plaintext_auth = no >>>> first_valid_uid = 110 >>>> log_timestamp = "%Y-%m-%d %H:%M:%S " >>>> mail_debug = yes >>>> mail_location = maildir:/data/vmail/%d/%n/ >> The one line i'm missing here from your doveconf -n output is mail_plugins = " quota" set in conf.d/10-mail.conf >> >> Have you added quota to the global mail plugins setting? http://wiki2.dovecot.org/Quota >> >>>> mail_privileged_group = mail >>>> 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/local-sql.conf >>>> driver = sql >>>> } >>>> plugin { >>>> quota = maildir:User quota >>>> quota_rule = *:storage=200M >>>> quota_status_nouser = 551 5.5.1 User not found >>>> quota_status_overquota = 552 5.2.2 Mailbox is full >>>> quota_status_success = DUNNO >>>> } >>>> protocols = imap pop3 >>>> service auth { >>>> unix_listener /var/spool/postfix/private/auth { >>>> group = postfix >>>> mode = 0660 >>>> user = postfix >>>> } >>>> unix_listener auth-master { >>>> mode = 0600 >>>> user = vmail >>>> } >>>> user = root >>>> } >>>> service imap-login { >>>> client_limit = 1024 >>>> process_limit = 256 >>>> process_min_avail = 8 >>>> service_count = 0 >>>> vsz_limit = 512 M >>>> } >>>> service imap { >>>> process_limit = 10240 >>>> } >>>> service pop3-login { >>>> client_limit = 512 >>>> process_limit = 256 >>>> process_min_avail = 8 >>>> service_count = 0 >>>> vsz_limit = 512 M >>>> } >>>> service pop3 { >>>> process_limit = 10240 >>>> } >>>> service quota-status { >>>> client_limit = 1 >>>> executable = /usr/lib/dovecot/quota-status -p postfix >>>> inet_listener { >>>> port = 12340 >>>> } >>>> } >>>> ssl_cert = </etc/letsencrypt/live/mail.asom-net.dk/fullchain.pem >>>> ssl_key = </etc/letsencrypt/live/mail.asom-net.dk/privkey.pem >>>> ssl_prefer_server_ciphers = yes >>>> userdb { >>>> args = /etc/dovecot/local-sql.conf >>>> driver = sql >>>> } >>>> protocol lda { >>>> auth_socket_path = /var/run/dovecot/auth-master >>>> mail_plugins = quota >>>> postmaster_address = postmaster at asom-net.dk >>>> } >>>> protocol imap { >>>> mail_plugins = quota imap_quota >>>> } >>>> protocol pop3 { >>>> mail_plugins = quota >>>> pop3_uidl_format = %08Xu%08Xv >>>> } >>>> >>>> >>>> local-sql.conf: >>>> driver = mysql >>>> connect = host=xyz dbname=xyz user=xyz password=xyz >>>> default_pass_scheme = CRYPT >>>> password_query = SELECT email as user, password FROM virtual_users >>>> WHERE email='%u'; >>>> user_query = SELECT >>>> >>> CONCAT('/data/vmail/',CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1))) >>> >>>> AS home, 110 AS uid, 110 AS gid, CONCAT('*:storage=',mailquota,'M') >>> AS >>>> quota_rule FROM virtual_users WHERE email='%u'; >>>> >>>> If I do a strace on the quota-status PID, it seems to do a stat on >>> the >>>> directory and then give up? Not sure Im interpreting it correct (only >>>> including the last few lines): >>>> ... >>>> lseek(14, 833, SEEK_SET) = 833 >>>> munmap(0x7f165d32a000, 833) = 0 >>>> close(14) = 0 >>>> geteuid() = 0 >>>> getegid() = 110 >>>> getgid() = 110 >>>> getegid() = 110 >>>> setgroups(1, [110]) = 0 >>>> setresuid(-1, 110, -1) = 0 >>>> prctl(PR_SET_DUMPABLE, 1) = 0 >>>> stat("/data/vmail/asom-net.dk/kptest", {st_mode=S_IFDIR|0700, >>>> st_size=4096, ...}) = 0 >>>> prctl(PR_SET_DUMPABLE, 1) = 0 >>>> setsockopt(12, SOL_TCP, TCP_CORK, [1], 4) = 0 >>>> write(12, "action=DUNNO\n\n", 14) = 14 >>>> setsockopt(12, SOL_TCP, TCP_CORK, [0], 4) = 0 >>>> epoll_wait(11, {{EPOLLIN, {u32=1593554016, u64=139734059562080}}}, 5, >>>> 59999) = 1 >>>> read(12, "", 8146) = 0 >>>> epoll_ctl(11, EPOLL_CTL_DEL, 12, 7fff0be817a0) = 0 >>>> close(12) = 0 >>>> epoll_wait(11, {}, 5, 1000) = 0 >>>> write(5, "\35q\1\0007\10\0\0\1\0\0\0", 12) = 12 >>>> epoll_wait(11, >>>> ... >>>> >>>> It seems like sort of permission issue? >>>> root at mail:~# su - vmail >>>> No directory, logging in with HOME=/ >>>> $ id -a >>>> uid=110(vmail) gid=110(vmail) groups=110(vmail) >>>> $ cat /data/vmail/asom-net.dk/kptest/maildirsize >>>> 524288000S >>>> 685 1 >>>> 690 1 >>>> >>>> /data/vmail/asom-net.dk is actually a symlink, maybe that could be of >>>> importance?: >>>> root at mail:~# ls -ld /data/vmail/asom-net.dk >>>> lrwxrwxrwx 1 root root 19 Jan 9 11:18 /data/vmail/asom-net.dk -> >>>> ../mnt1/asom-net.dk >>>> >>>> root at mail:~# ls -ld /data/mnt1/asom-net.dk/ >>>> drwxrwx--- 45 vmail vmail 4096 Dec 15 10:54 /data/mnt1/asom-net.dk/ >>>> >>>> root at mail:~# ls -ld /data/mnt1/asom-net.dk/kptest/ >>>> drwx------ 9 vmail vmail 4096 Jan 23 08:55 >>> /data/mnt1/asom-net.dk/kptest/ >>>> root at mail:~# ls -ld /data/mnt1/asom-net.dk/kptest/maildirsize >>>> -rw------- 1 vmail vmail 23 Jan 12 16:50 >>>> /data/mnt1/asom-net.dk/kptest/maildirsize >>>> >>>> Anyone have any idea what might be wrong here? >>>> >>>> Regards, >>>>
Kristian Pedersen
2017-Feb-02 13:23 UTC
quota-status returns quota_status_success when email would put user over quota
Hi Christian, On 2017-01-31 23:20, Christian Kivalo wrote:>> dovecot -n: >> # 2.2.13: /etc/dovecot/dovecot.conf >> # OS: Linux 3.16.0-4-amd64 x86_64 Debian 8.6 ext4 >> auth_default_realm = vejen-net.dk >> auth_mechanisms = plain login >> auth_verbose = yes >> disable_plaintext_auth = no >> first_valid_uid = 110 >> log_timestamp = "%Y-%m-%d %H:%M:%S " >> mail_debug = yes >> mail_location = maildir:/data/vmail/%d/%n/ > The one line i'm missing here from your doveconf -n output is mail_plugins = " quota" set in conf.d/10-mail.conf > > Have you added quota to the global mail plugins setting? http://wiki2.dovecot.org/QuotaThat did it, now it seems to work! I thought the global mail_plugins was only a variable not a config option. But it seems it must be set. So this works: mail_plugins = $mail_plugins quota protocol imap { mail_plugins = $mail_plugins imap_quota } protocol pop3 { mail_plugins = $mail_plugins } But this does not: protocol imap { mail_plugins = quota imap_quota } protocol pop3 { mail_plugins = quota } Thank you very much for helping me along. Also thanks to Aki Tuomi who pointed out the same issue. Regards, -- Kristian Pedersen ASOM-Net Systemadministrator www.asom-net.dk Telefon: 44 400 970
Maybe Matching Threads
- quota-status returns quota_status_success when email would put user over quota
- quota-status returns quota_status_success when email would put user over quota
- quota-status returns quota_status_success when email would put user over quota
- IDLE dropping EXISTS events on mass message arrival
- maildirsize quota counting locking account?