Problem! Dovecot 2.2.9 does not send the information on ending the quota to user

Serge Spinoza fedonin at gmail.com
Wed Jan 13 12:28:25 UTC 2016


Hi.

I installed the latest version of dovecot (v 2.2.21). But dovecot still doesn't
send the information on ending the quota to user.

# dovecot --version
2.2.21 (5345f22)


2015-12-19 7:27 GMT+03:00 Nick Edwards <nick.z.edwards at gmail.com>:

> before reporting an issue, please try a version made this millenium,
> 2.2.9 is older than my gran
> or take it up with your distro, dovecot doesnt make the distro version
> they do
>
> On 12/18/15, Serge Spinoza <fedonin at gmail.com> wrote:
> > Hi.
> >
> > I have Dovecot + Postfix + MySQL.
> > Version of Postix: postfix_2.11.3-1ubuntu1_amd64
> > Version of Dovecot: 2.2.9
> > Operations system is: Ubuntu 15.04 x64
> >
> > Postfix have patched (patch VDA - http://vda.sourceforge.net) for using
> > with quota, it means that file "maildirsize" in mail directory already
> > exists and changed when add/delete mail.
> >
> > Quota for virtual box take in MySQL db.
> >
> > ##########################
> >
> > Problem:
> >
> > Dovecot does not send the information on ending the quota to user.
> >
> > ##########################
> >
> >
> > # dovecot -n
> > # 2.2.9: /etc/dovecot/dovecot.conf
> > # OS: Linux 2.6.32-042stab112.15 x86_64 Ubuntu 15.04 ext4
> > auth_debug = yes
> > auth_default_realm = mydomain.ru
> > auth_mechanisms = plain login
> > auth_realms = znak-corp.ru
> > debug_log_path = /var/log/dovecot-debug.log
> > info_log_path = /var/log/dovecot.log
> > lda_mailbox_autocreate = yes
> > lda_mailbox_autosubscribe = yes
> > log_path = /var/log/dovecot.log
> > login_greeting = Welcome to OOO "Corporation ZNAK"
> > mail_gid = 1000
> > mail_location = maildir:/var/vmail/%n@%d
> > mail_plugins = " quota"
> > mail_uid = 1000
> > 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
> > passdb {
> >   args = /etc/dovecot/dovecot-sql.conf.ext
> >   driver = sql
> > }
> > plugin {
> >   autocreate = INBOX
> >   autosubscribe = INBOX
> >   quota = maildir:User quota
> >   quota_rule = *:storage=10M #(this derective takes from mysql, but i
> wrote
> > it just in case)
> >   quota_warning = storage=90%% quota-warning 90 %u
> >   quota_warning2 = storage=80%% quota-warning 80 %u
> > }
> > protocols = pop3 imap
> > quota_full_tempfail = yes
> > service auth {
> >   unix_listener /var/spool/postfix/private/dovecot-smtp-auth {
> >     group = postfix
> >     mode = 0666
> >     user = postfix
> >   }
> >   unix_listener auth-userdb {
> >     group = vmail
> >     mode = 0600
> >     user = vmail
> >   }
> > }
> > service imap-login {
> >   inet_listener imap {
> >     port = 143
> >   }
> >   inet_listener imaps {
> >     port = 993
> >     ssl = yes
> >   }
> > }
> > service pop3-login {
> >   inet_listener pop3 {
> >     port = 110
> >   }
> >   inet_listener pop3s {
> >     port = 995
> >     ssl = yes
> >   }
> > }
> > service quota-status {
> >   client_limit = 1
> >   executable = /usr/lib/dovecot/quota-status -p postfix
> >   inet_listener {
> >     port = 12340
> >   }
> > }
> > service quota-warning {
> >   executable = script /usr/local/bin/quota-warning.sh
> >   unix_listener quota-warning {
> >     user = vmail
> >   }
> >   user = vmail
> > }
> > ssl_cert = </etc/ssl/mydomain.ru.crt
> > ssl_key = </etc/ssl/mydomain.ru.key
> > userdb {
> >   args = /etc/dovecot/dovecot-sql.conf.ext
> >   driver = sql
> > }
> > protocol imap {
> >   mail_plugins = " quota imap_quota autocreate"
> > }
> > protocol pop3 {
> >   mail_plugins = quota
> > }
> > protocol lda {
> >   mail_plugins = " quota autocreate"
> > }
> >
> >
> > #####
> > quota-warning.sh
> > #####
> >
> > #!/bin/sh
> > PERCENT=$1
> > USER=$2
> > cat << EOF | /usr/lib/dovecot/dovecot-lda -d $USER -o
> > "plugin/quota=maildir:User quota:noenforcing"
> > From: aaa at mydomain.ru
> > Subject: Quota warning $PERCENT%
> >
> > Your mailbox is now $PERCENT% full.
> > Please remove unnecessary emails to avoid new mail loosing.
> > EOF
> >
> > #####
> > Script has chmod 777
> > #####
> >
> > root at mx:~# ls -la /usr/local/bin/quota-warning.sh
> > -rwxrwxrwx 1 vmail vmail 285 Dec 17 11:09 /usr/local/bin/quota-warning.sh
> >
> >
> > Check the script this command is successful:
> > # /usr/local/bin/quota-warning.sh 82 rrr at mydomain.ru
> >
> > (a letter is sent to rrr at mydomain.ru that box is filled to 82%)
> >
> >
> >
> > #####
> > dovecot-sql.conf.ext
> > #####
> >
> > driver = mysql
> > connect = host=localhost dbname=postfix user=postfix password=xxxxxxx
> >
> > default_pass_scheme = MD5-CRYPT
> >
> > user_query = SELECT '/var/vmail/%n@%d' as home,
> > 'maildir:/var/vmail/%n@%d'as
> > mail, 1000 AS uid, 1000 AS gid, concat('*:bytes=', quota) AS quota_rule
> > FROM mailbox WHERE username = '%u' AND active = '1'
> >
> > password_query = SELECT username as user, password, '/var/vmail/%n@%d'
> as
> > userdb_home, 'maildir:/var/vmail/%n@%d' as userdb_mail, 1000 as
> userdb_uid,
> > 1000 as userdb_gid, concat('*:bytes=', quota) AS userdb_quota_rule FROM
> > mailbox WHERE username = '%u' AND active = '1'
> >
> >
> > #####
> > Check that the socket has a quota-warning:
> > # lsof |grep quota-warning
> > dovecot   17277                  root   57u     unix 0xffff8802d7845b80
> >  0t0 62354154 /var/run/dovecot/quota-warning
> >
> > #####
> > Verify that the plugin quota is running I doing like this:
> > # doveadm -D -v  quota get -u rrr at mydomain.ru
> >
> > Conclusion:
> >
> > doveadm(root): Debug: Loading modules from directory:
> > /usr/lib/dovecot/modules
> > doveadm(root): Debug: Module loaded:
> > /usr/lib/dovecot/modules/lib10_quota_plugin.so
> > doveadm(root): Debug: Loading modules from directory:
> > /usr/lib/dovecot/modules/doveadm
> > doveadm(root): Debug: Skipping module doveadm_acl_plugin, because
> dlopen()
> > failed: /usr/lib/dovecot/modules/doveadm/lib10_doveadm_acl_plugin.so:
> > undefined symbol: acl_user_module (this is usually intentional, so just
> > ignore this message)
> > doveadm(root): Debug: Skipping module doveadm_expire_plugin, because
> > dlopen() failed:
> > /usr/lib/dovecot/modules/doveadm/lib10_doveadm_expire_plugin.so:
> undefined
> > symbol: expire_set_deinit (this is usually intentional, so just ignore
> this
> > message)
> > doveadm(root): Debug: Module loaded:
> > /usr/lib/dovecot/modules/doveadm/lib10_doveadm_quota_plugin.so
> > doveadm(root): Debug: Module loaded:
> > /usr/lib/dovecot/modules/doveadm/lib10_doveadm_sieve_plugin.so
> > doveadm(root): Debug: Skipping module doveadm_fts_plugin, because
> dlopen()
> > failed: /usr/lib/dovecot/modules/doveadm/lib20_doveadm_fts_plugin.so:
> > undefined symbol: fts_backend_rescan (this is usually intentional, so
> just
> > ignore this message)
> > doveadm(rrr at mydomain.ru): Debug: Added userdb setting:
> > mail=maildir:/var/vmail/rrr at mydomain.ru
> > doveadm(rrr at mydomain.ru): Debug: Added userdb setting:
> > plugin/quota_rule=*:bytes=10240000
> > doveadm(rrr at mydomain.ru): Debug: Effective uid=1000, gid=1000,
> > home=/var/vmail/rrr at mydomain.ru
> > doveadm(rrr at mydomain.ru): Debug: Quota root: name=User quota
> > backend=maildir args=
> > doveadm(rrr at mydomain.ru): Debug: Quota rule: root=User quota mailbox=*
> > bytes=10240000 messages=0
> > doveadm(rrr at mydomain.ru): Debug: Quota rule: root=User quota
> mailbox=Trash
> > bytes=+104857600 messages=0
> > doveadm(rrr at mydomain.ru): Debug: Quota rule: root=User quota
> mailbox=SPAM
> > ignored
> > doveadm(rrr at mydomain.ru): Debug: Quota warning: bytes=9216000 (90%)
> > messages=0 reverse=no command=quota-warning 90 rrr at mydomain.ru
> > doveadm(rrr at mydomain.ru): Debug: Quota warning: bytes=8192000 (80%)
> > messages=0 reverse=no command=quota-warning 80 rrr at mydomain.ru
> > doveadm(rrr at mydomain.ru): Debug: Quota grace: root=User quota
> bytes=1024000
> > (10%)
> > doveadm(rrr at mydomain.ru): Debug: maildir++:
> > root=/var/vmail/rrr at mydomain.ru,
> > index=, indexpvt=, control=, inbox=/var/vmail/rrr at mydomain.ru, alt=
> > Quota name Type    Value Limit
> >                    %
> > User quota STORAGE  9008 10000
> >                   90
> > User quota MESSAGE     6     -
> >                    0
> >
> >
> > #####
> >
> > Those plugin is successfully loaded and checked. When removing/receiving
> > emails percent of employment, respectively changes.
> > I read in dovecot manual, that the notification send only when the quota
> > border crossing - then I tested like this: Clears the box up to 60% and
> > then send letters, which occupy about 5% more of allocated quota. And so
> > the lead up to 95%. But reports of ending the quota not be sent.
> >
> > In what may be another problem?
> >
> > Thanks.
> >
> > ------------------
> > Serge
> >
>


More information about the dovecot mailing list