Hi All,
Since upgrading to RHEL7 and dovecot-2.2.36-8.el7.x86_64 we're not able to get quota warnings work.
We get the error "User initialization failed: Failed to initialize quota: Invalid quota root quota: Invalid rule *:bytes=: Invalid bytes limit:"
/mar 16 10:29:27 lda(user@domain): Quota: Executing warning: quota-warning 90 user@domain// //Mar 16 10:29:27 buzonn5 gonzalo: mar 16 10:29:27 lda(user@domain): Quota: Executing warning: quota-warning 90 user@domain// //Mar 16 10:29:27 buzonn5 dovecot: lda(user@domain): Debug: Loading modules from directory: /usr/lib64/dovecot// //Mar 16 10:29:27 buzonn5 dovecot: lda(user@domain): Debug: Module loaded: /usr/lib64/dovecot/lib10_quota_plugin.so// //Mar 16 10:29:27 buzonn5 dovecot: lda(user@domain): Debug: Module loaded: /usr/lib64/dovecot/lib15_notify_plugin.so// //Mar 16 10:29:27 buzonn5 dovecot: lda(user@domain): Debug: Module loaded: /usr/lib64/dovecot/lib20_mail_log_plugin.so// //Mar 16 10:29:27 buzonn5 dovecot: lda(user@domain): Debug: Module loaded: /usr/lib64/dovecot/lib90_sieve_plugin.so// //Mar 16 10:29:27 buzonn5 dovecot: lda(user@domain): Debug: auth USER input: user@domain home=/buzones/externos/4/215283255776546 uid=508 gid=503 quota_rule=*:bytes=2147483648// //Mar 16 10:29:27 buzonn5 dovecot: lda(user@domain): Debug: Ignoring overridden (-o) userdb setting: plugin/quota_rule// //Mar 16 10:29:27 buzonn5 dovecot: lda(user@domain): Debug: Effective uid=508, gid=503, home=/buzones/externos/4/215283255776546// //Mar 16 10:29:27 buzonn5 dovecot: lda(user@domain): Debug: Quota root: name=_backup backend=maildir args=ns=// //Mar 16 10:29:27 buzonn5 dovecot: lda(user@domain): Debug: Quota rule: root=_backup mailbox=* bytes=0 messages=0// //Mar 16 10:29:27 buzonn5 dovecot: lda(user@domain): Error: User initialization failed: Failed to initialize quota: Invalid quota root quota: Invalid rule *:bytes=: Invalid bytes limit:// //Mar 16 10:29:27 buzonn5 dovecot: lda: Fatal: Invalid user settings. Refer to server log for more information./
This is the quota-warning script:
/#!/bin/sh//
//#Variables//
//PERCENT=$1//
//USER=$2//
//FECHA=date '+%b %d %H:%M:%S'
//
//
//#Logueo del evento//
//echo "$FECHA lda($USER): Quota: Executing warning: quota-warning
$PERCENT $USER" >> /var/log/dovecot/dovecot.log//
//logger -p local1.notice -f /var/log/dovecot/dovecot.log "$FECHA
lda($USER): Quota: Executing warning: quota-warning $PERCENT $USER"//
//
//cat << EOF | /usr/libexec/dovecot/dovecot-lda -d $USER -o
"plugin/quota_rule=*:bytes=%$"//
//From: postmaster at domain//
//Subject: Alerta de Capacidad//
//Date: date
//
//
//El espacio asignado para el almacenamiento de su correo ha superado el
$PERCENT% de su capacidad total. Por ello, se recomienda que elimine
correos y/o vacie la papelera para liberar espacio.//
//Mensaje enviado desde hostname
//
//
//Atentamente,//
//
//--//
//Responsable correo //
//postmaster at domain//
//
//EOF//
/
This is 90-quota.conf
/plugin {// // quota = maildir:_backup:ns=// //}// // //plugin {// // quota_exceeded_message = El espacio asignado para el almacenamiento del correo del destinatario ha superado su capacidad total. Por ello, el correo que usted intenta enviar no se puede entregar al destinatario.// // quota_warning = storage=70%% quota-warning 70 %u// // quota_warning1 = storage=90%% quota-warning 90 %u// // quota_warning2 = storage=95%% quota-warning 95 %u// // quota_warning3 = storage=99%% quota-warning 99 %u// //}// // //service quota-warning {// // executable = script /etc/dovecot/scripts_notification_quota/quota-warning.sh// // user = vmail// // unix_listener quota-warning {// // user = vmail// // }// //}/
Getting user attibutes and quota with doveadms works right:
/# doveadm user user@domain// //field value// //uid 508// //gid 503// //home /buzones/externos/4/215283255776546// //mail maildir:/buzones/externos/4/215283255776546/Maildir// //quota_rule *:bytes=2147483648// //# doveadm quota get -u user@domain// //Quota name Type Value Limit %// //_backup STORAGE 1153093 2097152 54// //_backup MESSAGE 44347 - /
It also works fine with ldapsearch
/# ldapsearch -x -D "cn=mail_admin,cn=users,dc=domain,dc=es" -w ********** -b "dc=domain,dc=es" -h ldap.host mail=user@domain mailquotasize// //# extended LDIF// //#// //# LDAPv3// //# base <dc=domain,dc=es> with scope subtree// //# filter: mail=user@domain// //# requesting: mailquotasize// //#// // //# user@domain, users, domain.es// //dn: cn=user@domain,cn=users,dc=domain,dc=es// //mailquotasize: 2147483648/
I've been googling but I can't find where the problem may be. Can you please help me?
This is the whole config:
/doveconf -n// //# 2.2.36 (1f10bfa63): /etc/dovecot/dovecot.conf// //# Pigeonhole version 0.4.24 (124e06aa)// //# OS: Linux 3.10.0-1160.6.1.el7.x86_64 x86_64 Red Hat Enterprise Linux Server release 7.9 (Maipo)// //# Hostname: host.domain// //auth_cache_negative_ttl = 5 mins// //auth_cache_size = 500 M// //auth_cache_ttl = 5 mins// //auth_failure_delay = 5 secs// //default_vsz_limit = 1 G// //disable_plaintext_auth = no// //hostname = host.domain// //imap_logout_format = in(bytes read)=%i out(bytes sent)=%o// //listen = *// //lock_method = dotlock// //mail_fsync = always// //mail_location = maildir:%h/Maildir// //mail_nfs_index = yes// //mail_nfs_storage = yes// //mail_plugins = " quota mail_log notify"// //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 index ihave duplicate mime foreverypart extracttext imapflags notify// //mbox_write_locks = fcntl// //mmap_disable = yes// //namespace {// // location = maildir:%h/Maildir/_backup// // prefix = _backup.// // separator = .// // type = private// //}// //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-ldap.conf.ext// // driver = ldap// //}// //plugin {// // mail_log_events = delete undelete expunge mailbox_delete mailbox_rename mailbox_create save// // mail_log_fields = uid box msgid from subject// // quota = maildir:_backup:ns=// // quota_exceeded_message = El espacio asignado para el almacenamiento del correo del destinatario ha superado su capacidad total. Por ello, el correo que usted intenta enviar no se puede entregar al destinatario.// // quota_warning = storage=70%% quota-warning 70 %u// // quota_warning1 = storage=90%% quota-warning 90 %u// // quota_warning2 = storage=95%% quota-warning 95 %u// // quota_warning3 = storage=99%% quota-warning 99 %u// // sieve = ~/.dovecot.sieve// // sieve_dir = ~/Maildir/sieve// // sieve_extensions = +notify +imapflags// //}// //postmaster_address = postmaster@domain// //protocols = imap pop3 sieve// //service auth {// // unix_listener auth-userdb {// // group = vmail// // mode = 0777// // user = vmail// // }// //}// //service imap-login {// // inet_listener imap {// // port = 143// // }// // process_min_avail = 20// //}// //service imap {// // process_limit = 2048// //}// //service managesieve-login {// // inet_listener sieve {// // port = 4190// // }// // inet_listener sieve_deprecated {// // port = 2000// // }// // process_min_avail = 20// //}// //service pop3-login {// // inet_listener pop3 {// // port = 110// // }// // process_min_avail = 20// //}// //service pop3 {// // process_limit = 2048// //}// //service quota-warning {// // executable = script /etc/dovecot/scripts_notification_quota/quota-warning.sh// // unix_listener quota-warning {// // user = vmail// // }// // user = vmail// //}// //ssl = no// //ssl_cert = </etc/pki/dovecot/certs/dovecot.pem// //ssl_key = # hidden, use -P to show it// //submission_host = smtpi.domain:25// //syslog_facility = local1// //userdb {// // args = /etc/dovecot/dovecot-ldap.conf.ext// // driver = ldap// //}// //protocol lda {// // mail_plugins = " quota mail_log notify sieve"// //}// //protocol imap {// // mail_max_userip_connections = 10000// // mail_plugins = " quota mail_log notify imap_quota"// //}// //protocol pop3 {// // mail_max_userip_connections = 10// //}/
Thanks and best regards
--
*Gonzalo Palacios Goicolea* U.T de Infraestructura de Equipos Centrales /Tecnologías de la Información/ Universidad Autónoma de Madrid • Campus de Cantoblanco Antes de imprimir este correo piense si es necesario.Cuidemos el medioambiente.