[Dovecot] Why is my quota warning script not getting executed?
Darek M
fafaforza at gmail.com
Tue Apr 26 20:34:05 EEST 2011
Storing my users and quota in MySQL,running Dovecot 1.2.16, and
followed the page at http://wiki1.dovecot.org/Quota/Dict I'm burning
my eyes trying to find any syntax issues but can't. I'm including
output of dovecot -n and the quota2 table schema below.
dovecot.conf:
==========
dict {
quotadict = mysql:/usr/local/etc/postfix/dovecot-dict-sql.conf
}
plugin {
quota = dict:emailaccount::proxy::quotadict
quota_warning95 = storage=95%% /usr/local/bin/dovecot-quota-warning.sh 95
quota_warning90 = storage=90%% /usr/local/bin/dovecot-quota-warning.sh 90
quota_warning80 = storage=80%% /usr/local/bin/dovecot-quota-warning.sh 80
}
/usr/local/etc/postfix/dovecot-dict-sql.conf:
===============================
# v1.2+ only:
connect = host=/tmp/mysql.sock dbname=postfix user=postfix password=****
map {
pattern = priv/quota/storage
table = quota2
username_field = username
value_field = bytes
}
map {
pattern = priv/quota/messages
table = quota2
username_field = username
value_field = messages
}
A log of 90% being passed:
# vuserinfo darek at domain.com
Email: darek at domain.com
Name: Darek
Maildir: domain.com/darek/
Created: 2011-04-11 18:08:05
Modified: 2011-04-25 17:30:26
Quota: 25,000K (24.41M)
Used: 21,380.29K (20.88M)
Usage: 85.52%
Apr 26 11:57:53 deliver(darek at domain.com): Info: Loading modules from
directory: /usr/local/lib/dovecot/lda
Apr 26 11:57:53 deliver(darek at domain.com): Info: Module loaded:
/usr/local/lib/dovecot/lda/lib10_quota_plugin.so
Apr 26 11:57:53 deliver(darek at domain.com): Info: Module loaded:
/usr/local/lib/dovecot/lda/lib90_sieve_plugin.so
Apr 26 11:57:53 deliver(darek at domain.com): Info: auth input:
home=/home/vmail/domain.com/darek/
Apr 26 11:57:53 deliver(darek at domain.com): Info: auth input:
mail=maildir:/home/vmail/domain.com/darek/
Apr 26 11:57:53 deliver(darek at domain.com): Info: auth input: uid=5000
Apr 26 11:57:53 deliver(darek at domain.com): Info: auth input: gid=5000
Apr 26 11:57:53 deliver(darek at domain.com): Info: auth input:
quota_rule=*:bytes=25600000
Apr 26 11:57:53 deliver(darek at domain.com): Info: Quota root:
name=emailaccount backend=dict args=:proxy::quotadict
Apr 26 11:57:53 deliver(darek at domain.com): Info: Quota rule:
root=emailaccount mailbox=* bytes=25600000 messages=0
Apr 26 11:57:53 deliver(darek at domain.com): Info: dict quota:
user=darek at domain.com, uri=proxy::quotadict, noenforcing=0
Apr 26 11:57:53 deliver(darek at domain.com): Info: maildir:
data=/home/vmail/domain.com/darek/
Apr 26 11:57:53 deliver(darek at domain.com): Info: maildir++:
root=/home/vmail/domain.com/darek, index=, control=,
inbox=/home/vmail/domain.com/darek
Apr 26 11:57:53 deliver(darek at domain.com): Info: dict quota:
user=darek at domain.com, uri=proxy::quotadict, noenforcing=0
Apr 26 11:57:53 deliver(darek at domain.com): Info: sieve: user's script
path /home/vmail/domain.com/darek/sieve/darek at domain.com.sieve doesn't
exist (using global script path in stead)
Apr 26 11:57:53 deliver(darek at domain.com): Info: sieve: user has no
valid personal script
Apr 26 11:57:53 deliver(darek at domain.com): Info: sieve: no scripts to
execute: reverting to default delivery.
Apr 26 11:57:53 deliver(darek at domain.com): Info: Namespace : Using
permissions from /home/vmail/domain.com/darek: mode=0700 gid=-1
Apr 26 11:57:53 dict: Info: mysql: Connected to /tmp/mysql.sock (postfix)
Apr 26 11:57:53 deliver(darek at domain.com): Info:
msgid=<4DB6EB69.5010501 at server.net>: saved mail to INBOX
# vuserinfo darek at domain.com
Email: darek at domain.com
Name: Darek
Maildir: domain.com/darek/
Created: 2011-04-11 18:08:05
Modified: 2011-04-25 17:30:26
Quota: 25,000K (24.41M)
Used: 23,000.09K (22.46M)
Usage: 92.00%
Output of 'dovecot -n':
================
# 1.2.16: /usr/local/etc/dovecot.conf
# OS: FreeBSD 8.2-RELEASE i386 ufs
log_path: /var/log/dovecot/dovecot-err.log
info_log_path: /var/log/dovecot/dovecot-info.log
protocols: imap imaps pop3 pop3s managesieve
listen: , [::]
ssl_cert_file: /etc/ssl/dovecot/certs/dovecot.pem
ssl_key_file: /etc/ssl/dovecot/private/dovecot.pem
disable_plaintext_auth: no
nfs_check: no
version_ignore: yes
login_dir: /var/run/dovecot/login
login_executable(default): /usr/local/libexec/dovecot/imap-login
login_executable(imap): /usr/local/libexec/dovecot/imap-login
login_executable(pop3): /usr/local/libexec/dovecot/pop3-login
login_executable(managesieve): /usr/local/libexec/dovecot/managesieve-login
login_process_per_connection: no
login_processes_count: 10
first_valid_uid: 5000
last_valid_uid: 5000
first_valid_gid: 5000
last_valid_gid: 5000
mail_uid: 5000
mail_gid: 5000
mail_location: maildir:/home/vmail/%d/%n
mail_debug: yes
mail_nfs_storage: yes
lock_method: dotlock
maildir_very_dirty_syncs: yes
mail_executable(default): /usr/local/libexec/dovecot/imap
mail_executable(imap): /usr/local/libexec/dovecot/imap
mail_executable(pop3): /usr/local/libexec/dovecot/pop3
mail_executable(managesieve): /usr/local/libexec/dovecot/managesieve
mail_plugins(default): quota imap_quota
mail_plugins(imap): quota imap_quota
mail_plugins(pop3): quota
mail_plugins(managesieve):
mail_plugin_dir(default): /usr/local/lib/dovecot/imap
mail_plugin_dir(imap): /usr/local/lib/dovecot/imap
mail_plugin_dir(pop3): /usr/local/lib/dovecot/pop3
mail_plugin_dir(managesieve): /usr/local/lib/dovecot/managesieve
lda:
postmaster_address: supportteam at domain.net
hostname: inbox4.domain.net
mail_plugins: quota sieve
sendmail_path: /usr/sbin/sendmail
auth default:
mechanisms: plain login apop
user: nobody
username_translation: %@
passdb:
driver: sql
args: /usr/local/etc/postfix/dovecot.sql
userdb:
driver: sql
args: /usr/local/etc/postfix/dovecot.sql
socket:
type: listen
client:
path: /var/spool/postfix/private/auth
mode: 432
user: postfix
group: vmail
master:
path: /var/run/dovecot/auth-master
mode: 384
user: vmail
group: vmail
plugin:
quota: dict:emailaccount::proxy::quotadict
quota_warning95: storage=95%% /usr/local/bin/dovecot-quota-warning.sh 95
quota_warning90: storage=90%% /usr/local/bin/dovecot-quota-warning.sh 90
quota_warning80: storage=80%% /usr/local/bin/dovecot-quota-warning.sh 80
sieve: /home/vmail/%d/%n/sieve/%n@%d.sieve
sieve_dir: /home/vmail/%d/%n/sieve/
dict:
quotadict: mysql:/usr/local/etc/postfix/dovecot-dict-sql.conf
Database schema:
==============
# mysql -u root postfix
mysql> describe quota2;
+----------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| username | varchar(100) | NO | PRI | NULL | |
| bytes | bigint(20) | NO | | 0 | |
| messages | int(11) | NO | | 0 | |
+----------+--------------+------+-----+---------+-------+
3 rows in set (0.00 sec)
mysql> select * from quota2 where username='darek at domain.com';
+------------------+----------+----------+
| username | bytes | messages |
+------------------+----------+----------+
| darek at domain.com | 23552090 | 7 |
+------------------+----------+----------+
--
Darek
More information about the dovecot
mailing list