Hello,
Trying to get the following quota notification script to work with
Dovecot 2.3.21.1:
#!/bin/sh
PERCENT=$1
USERNAME=$2
cat << EOF | /usr/lib/dovecot/dovecot-lda -d $USER -o
"plugin/quota=count:User quota::noenforcing"
From: postmas...@deeztek.com
Subject: quota warning
Your mailbox is now $PERCENT% full.
EOF
However running it produces the following error:
lda: Fatal: Unknown argument: plugin/quota=count:User quota::noenforcing
Below are my dovecot.conf settings:
# Pigeonhole version 0.5.21.1 (49005e73)
# OS: Linux 5.4.0-192-generic x86_64 Debian 11.10
# Hostname: be9f67c4e17e
debug_log_path = /dev/stdout
dict {
quotadict = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext
}
first_valid_uid = 1000
info_log_path = /dev/stdout
last_valid_uid = 1000
listen = *
log_path = /dev/stdout
mail_debug = yes
mail_gid = 1000
mail_home = /srv/mail/%d/%n
mail_location = maildir:~/
mail_plugins = " quota zlib mail_crypt"
mail_privileged_group = mail
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 index ihave duplicate mime foreverypart extracttext
namespace {
inbox = yes
location =
mailbox Archive {
auto = subscribe
special_use = \Archive
}
mailbox Drafts {
auto = subscribe
special_use = \Drafts
}
mailbox Sent {
auto = subscribe
special_use = \Sent
}
mailbox Spam {
auto = subscribe
special_use = \Junk
}
mailbox Trash {
auto = subscribe
special_use = \Trash
}
prefix =
separator = /
}
passdb {
args = /etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
plugin {
mail_crypt_curve = prime256v1
mail_crypt_global_private_key = # hidden, use -P to show it
mail_crypt_global_public_key = # hidden, use -P to show it
mail_crypt_save_version = 2
quota = dict:User quota::proxy::quotadict
quota_rule2 = Trash:storage=+10%%
quota_warning = storage=100%% quota-warning +100 %u
quota_warning2 = storage=95%% quota-warning +95 %u
quota_warning3 = storage=80%% quota-warning +80 %u
quota_warning4 = -storage=100%% quota-warning -100 %u
sieve = /srv/mail/sieve/%u.sieve
zlib_save = lz4
}
protocols = imap pop3 submission sieve lmtp
service auth {
inet_listener auth-inet {
port = 9587
}
}
service dict {
unix_listener dict {
group = vmail
mode = 0660
user = vmail
}
user = root
}
service imap-login {
client_limit = 1000
process_min_avail = 1
service_count = 0
}
service lmtp {
inet_listener {
port = 24
}
}
service managesieve-login {
client_limit = 1000
process_min_avail = 1
service_count = 0
}
service pop3-login {
client_limit = 1000
process_min_avail = 1
service_count = 0
}
service quota-warning {
executable = script /scripts/quota-warning.sh
unix_listener quota-warning {
group = vmail
mode = 0660
user = vmail
}
user = vmail
}
service submission-login {
client_limit = 1000
process_min_avail = 1
service_count = 0
}
ssl_cert = </certs/fullchain.pem
ssl_cipher_list =
ALL:!ADH:!LOW:!SSLv2:!SSLv3:!EXP:!aNULL:!eNULL:!3DES:!MD5:!PSK:!DSS:!RC4:!SEED:!IDEA:+HIGH:+MEDIUM
ssl_key = # hidden, use -P to show it
ssl_options = no_compression no_ticket
ssl_prefer_server_ciphers = yes
userdb {
args = /etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
verbose_proctitle = yes
protocol imap {
imap_metadata = yes
mail_plugins = " quota zlib mail_crypt imap_quota zlib"
}
protocol lmtp {
mail_plugins = quota sieve
}
protocol sieve {
managesieve_logout_format = bytes=%i/%o
}
protocol pop3 {
mail_plugins = " quota zlib mail_crypt mail_crypt"
pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
pop3_uidl_format = %08Xu%08Xv
}
Thanks
_______________________________________________
dovecot mailing list -- dovecot@dovecot.org
To unsubscribe send an email to dovecot-le...@dovecot.org