dear dovecot users,
trying to setup this quota-status thingy in dovecot so postfix can query the quota on the mailbox via following in main.cf
smtpd_recipient_restrictions = ... check_policy_service inet:127.0.0.1:12340
I got this in my dovecot config
service quota-status { client_limit = 1 executable = quota-status -p postfix inet_listener { port = 12340 } }
plugin { ... quota_status_nouser = DUNNO quota_status_overquota = 552 5.2.2 Mailbox is over quota / Mailbox ist voll quota_status_success = DUNNO ... }
but whenever I try I get this error:
Apr 24 20:04:32 cx20 dovecot[7236]: quota-status(beckidouche@domain.com)<7290><qQpiJzAqo156HAAAct2Jzg>: Error: quota check failed: Failed to get quota resource STORAGE_BYTES for INBOX: quota-dict: dict_lookup(priv/quota/storage) failed: net_connect_unix(/var/run/dovecot/dict) failed: Permission denied (euid=303(vmail) egid=303(vmail) missing +r perm: /var/run/dovecot/dict, we're not in group 489(dovecot), dir owned by 0:0 mode=0755) (reply took 0.000 secs (0.000 in dict wait, 0.000 in other ioloops, 0.000 in locks))
what am I missing here?
perhaps too many hours in front of the screen today already ;)
thanks a lot for your time & help greetings Becki
/*
*/
cx20: # doveconf -n
# 2.3.3 (dcead646b): /etc/dovecot/dovecot.conf # Pigeonhole version 0.5.3 (f018bbab) # OS: Linux 4.12.14-lp151.28.48-default x86_64 ext4 # Hostname: cx20.domain.com auth_debug = yes auth_debug_passwords = yes auth_mechanisms = plain login cram-md5 apop auth_verbose = yes auth_verbose_passwords = yes dict { quota = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext } first_valid_uid = 300 mail_debug = yes mail_gid = vmail mail_home = /srv/maildirs/%d/%n mail_location = maildir:/srv/maildirs/%d/%n mail_plugins = " quota" mail_privileged_group = vmail mail_uid = vmail 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 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 = separator = / type = private } passdb { args = /etc/dovecot/dovecot-sql.conf.ext driver = sql } plugin { quota = dict:User quota::proxy::quota quota_grace = 10%% quota_rule = *:bytes=102400000 quota_rule2 = Trash:storage=+100M quota_status_nouser = DUNNO quota_status_overquota = 552 5.2.2 Mailbox is over quota / Mailbox ist voll quota_status_success = DUNNO quota_warning = storage=95%% quota-warning 95 %u quota_warning2 = storage=80%% quota-warning 80 %u sieve = file:~/sieve;active=~/.dovecot.sieve } protocols = imap pop3 lmtp sieve service auth { unix_listener auth-userdb { mode = 0777 } } service imap-login { inet_listener imap { port = 143 } inet_listener imaps { port = 993 ssl = yes } } service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { group = postfix mode = 0666 user = postfix } } service pop3-login { inet_listener pop3 { port = 110 } inet_listener pop3s { port = 995 ssl = yes } } service quota-status { client_limit = 1 executable = quota-status -p postfix inet_listener { port = 10042 } } service quota-warning { executable = script /usr/local/bin/quota-warning.sh unix_listener quota-warning { group = vmail mode = 0660 user = vmail } user = vmail } ssl_cert =
/*
*/
Hello Becki,
On 24.04.20 20:28, Admin Beckspaced wrote:
trying to setup this quota-status thingy in dovecot
but whenever I try I get this error:
what am I missing here?
as I couldn't find any information regarding 'service dict' in your doveconf -n:
Please have a look in your /etc/dovecot/conf.d/10-master.conf (or elswhere in your Dovecot configs) and find a config option for service dict.
The default is mostly something like this:
service dict { # If dict proxy is used, mail processes should have access to its socket. # For example: mode=0660, group=vmail and global mail_access_groups=vmail unix_listener dict { #mode = 0600 #user = #group = } }
Please change it to:
service dict { # If dict proxy is used, mail processes should have access to its socket. # For example: mode=0660, group=vmail and global mail_access_groups=vmail unix_listener dict { mode = 0660 user = vmail group = vmail } }
restart Dovecot and test if it works.
HTH and kind regards, Markus
Am 24.04.2020 um 21:10 schrieb Markus Winkler:
Hello Becki,
On 24.04.20 20:28, Admin Beckspaced wrote:
trying to setup this quota-status thingy in dovecot
but whenever I try I get this error:
what am I missing here?
as I couldn't find any information regarding 'service dict' in your doveconf -n:
Please have a look in your /etc/dovecot/conf.d/10-master.conf (or elswhere in your Dovecot configs) and find a config option for service dict.
The default is mostly something like this:
service dict { # If dict proxy is used, mail processes should have access to its socket. # For example: mode=0660, group=vmail and global mail_access_groups=vmail unix_listener dict { #mode = 0600 #user = #group = } }
Please change it to:
service dict { # If dict proxy is used, mail processes should have access to its socket. # For example: mode=0660, group=vmail and global mail_access_groups=vmail unix_listener dict { mode = 0660 user = vmail group = vmail } }
restart Dovecot and test if it works.
HTH and kind regards, Markus
Hi Markus,
super! Thanks a lot for the hint. after activating the dict service with proper user & group all is working fine.
Thanks & have a nice weekend ;) Greetings Becki
participants (2)
-
Admin Beckspaced
-
Markus Winkler