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

Reply via email to