Dear All,
Is it possible to make quota rules under $HOME/Maildir/* mailboxes with
a specific command such as 'edquota' when the first email arrives at the
$HOME/Maildir/{new,cur,tmp} of a user. In the below example, the <UserB>
is the one who gets an email for the first time.
edquota -p <UserA> <UserB>
---man edquot---
-p, --prototype=protoname
Duplicate the quotas of the prototypical user specified for each user
specified. This is the normal mechanism used to initialize quotas for
groups of users.
---
To configure quotas in postfix/dovecot environment, it seems that you
need to use dovecot-lda plugin, and then my exact question is as follows:
Is it possible to automatically run any commands or scripts in order to
set a quota rule to $HOME/Maildir/* mailboxes when users receive an
email for the first time? I just found the post-login service allows you
to execute scripts after authentication in the following URL, but I have
not found the exact way to make it.
http://www.dovecot.org/list/dovecot/2009-November/044279.html
Any comments/suggestions would be greatly appreciated.
--
Masaharu Kawada
I personnaly use courier's maildirmake, which is a real binary unlike
dovecote's maildirmake which is a thin bash wrapper around the linux mkdir
command. Courier's maildirmake on the other hand has this nice -q option
that let you specify a quota, at creation time of afterwards.
I'm using it in a script like this :
root at messagerie[CHROOT][10.10.10.20] ~/SCRIPTS/MAIL # cat setupquota.single
if [[ "$#" = 0 ]]
then
??? echo "usage : $0 boite at domain.com [quota en megas]"
??? exit 1
fi
quota=$((1024*1024*1024)) #1Go
inbox="${1%@*}"
maildir="/var/vmail/example.domain/$inbox"
backup="/var/vmail/backup.example.domain/$inbox"
if [[ "$#" = 2 ]]
then
??? quota=$((1024*1024*$2))
fi
function set_quota {
??? local quota="$1"
??? local dst="$2"
??? echo maildirmake.courier -q "$quota"S "$dst"
??? maildirmake.courier -q "$quota"S "$dst"
??? echo chown vmail:vmail -R "$dst"
??? chown vmail:vmail -R "$dst"
}
set_quota "$quota" "$maildir"
quota=$(( 1024 * 1024 * 1024 *? 5 )) # 5Go
set_quota "$quota" "$backup"
echo
"-------------------------------------------------------------------------"
root at messagerie[CHROOT][10.10.10.20] ~/SCRIPTS/MAIL #
And use it like this :
root at messagerie[CHROOT][10.10.10.19] ~/SCRIPTS/MAIL # ./setupquota.single
h.messamri at example.domain 1024
From: "mkawada at redhat.com" <mkawada at redhat.com>
To: dovecot at dovecot.org
Sent: Wednesday, June 15, 2016 1:20 AM
Subject: quota rules for mail users
Dear All,
Is it possible to make quota rules under $HOME/Maildir/* mailboxes with
a specific command such as 'edquota' when the first email arrives at the
$HOME/Maildir/{new,cur,tmp} of a user. In the below example, the <UserB>
is the one who gets an email for the first time.
&?"edquota? -p? <UserA> <UserB>
---man edquot---
-p, --prototype=protoname
Duplicate the quotas of the prototypical user specified for each user
specified. This is the normal mechanism used to initialize quotas for
groups of users.
---
To configure quotas in postfix/dovecot environment, it seems that you
need to use dovecot-lda plugin, and then my exact question is as follows:
Is it possible to automatically run any commands or scripts in order to
set a quota rule to $HOME/Maildir/* mailboxes when users receive an
email for the first time? I just found the post-login service allows you
to execute scripts after authentication in the following URL, but I have
not found the exact way to make it.
http://www.dovecot.org/list/dovecot/2009-November/044279.html
Any comments/suggestions would be greatly appreciated.
--
Masaharu Kawada
Yachine-san, I very much appreciate you giving me the very useful information on my question. Masaharu Kawada On 2016?06?15? 19:36, chaouche yacine wrote:> I personnaly use courier's maildirmake, which is a real binary unlike dovecote's maildirmake which is a thin bash wrapper around the linux mkdir command. Courier's maildirmake on the other hand has this nice -q option that let you specify a quota, at creation time of afterwards. > > I'm using it in a script like this : > > root at messagerie[CHROOT][10.10.10.20] ~/SCRIPTS/MAIL # cat setupquota.single > > if [[ "$#" = 0 ]] > then > echo "usage : $0 boite at domain.com [quota en megas]" > exit 1 > fi > > quota=$((1024*1024*1024)) #1Go > inbox="${1%@*}" > maildir="/var/vmail/example.domain/$inbox" > backup="/var/vmail/backup.example.domain/$inbox" > > if [[ "$#" = 2 ]] > then > quota=$((1024*1024*$2)) > fi > > > > function set_quota { > local quota="$1" > local dst="$2" > echo maildirmake.courier -q "$quota"S "$dst" > maildirmake.courier -q "$quota"S "$dst" > echo chown vmail:vmail -R "$dst" > chown vmail:vmail -R "$dst" > } > > set_quota "$quota" "$maildir" > quota=$(( 1024 * 1024 * 1024 * 5 )) # 5Go > set_quota "$quota" "$backup" > echo "-------------------------------------------------------------------------" > root at messagerie[CHROOT][10.10.10.20] ~/SCRIPTS/MAIL # > > > And use it like this : > > root at messagerie[CHROOT][10.10.10.19] ~/SCRIPTS/MAIL # ./setupquota.single h.messamri at example.domain 1024 > > > > > From: "mkawada at redhat.com" <mkawada at redhat.com> > To: dovecot at dovecot.org > Sent: Wednesday, June 15, 2016 1:20 AM > Subject: quota rules for mail users > > Dear All, > > Is it possible to make quota rules under $HOME/Maildir/* mailboxes with > a specific command such as 'edquota' when the first email arrives at the > $HOME/Maildir/{new,cur,tmp} of a user. In the below example, the <UserB> > is the one who gets an email for the first time. > > &?"edquota -p <UserA> <UserB> > > ---man edquot--- > -p, --prototype=protoname > Duplicate the quotas of the prototypical user specified for each user > specified. This is the normal mechanism used to initialize quotas for > groups of users. > --- > > To configure quotas in postfix/dovecot environment, it seems that you > need to use dovecot-lda plugin, and then my exact question is as follows: > > Is it possible to automatically run any commands or scripts in order to > set a quota rule to $HOME/Maildir/* mailboxes when users receive an > email for the first time? I just found the post-login service allows you > to execute scripts after authentication in the following URL, but I have > not found the exact way to make it. > > http://www.dovecot.org/list/dovecot/2009-November/044279.html > > Any comments/suggestions would be greatly appreciated. >-- Masaharu Kawada