Люди подскажите, как procmail'у передать параметром имя домена, что бы можно было в $HOME/.procmailrc указать
DOMAIN=$2
MAILDIR=/var/spool/vmail/$DOMAIN
У меня имеется только $1 который соответствует имени пользователя которому перенаправляется почта согласно virtualusertable
@domain.com ownerвот кусок вывод cat /etc/mail/sendmail.cf | grep procmail
------------------ cut -----------------------
##### $Id: local_procmail.m4,v 8.21.42.1 2002/11/17 04:25:07 ca Exp $ #####
##### $Id: local_procmail.m4,v 8.21.42.1 2002/11/17 04:25:07 ca Exp $ #####
Mlocal, P=/usr/bin/procmail, F=lsDFMAw5:/|@qSPfhn9, S=EnvFromL/HdrFromL, R=EnvToL/HdrToL,
A=procmail -Y -a $h -d $u
##### $Id: procmail.m4,v 8.22 2001/11/12 23:11:34 ca Exp $ #####
Mprocmail, P=/usr/bin/procmail, F=DFMSPhnu9, S=EnvFromSMTP/HdrFromSMTP, R=EnvToSMTP/HdrFromSMTP,
A=procmail -Y -m $h $f $u
------------------ cut -----------------------
Другими словами мне надо раскидать почту по ящикам вида /var/spool/vmail/domain.com/user
как это сделать ? помогите !
>Другими словами мне надо раскидать почту по ящикам вида /var/spool/vmail/domain.com/user
>как это сделать ? помогите !Есть такой вариант:
в /etc/mail/access
to:virtdomain.com RELAYв virtualusertable:
@virtdomain.com !в mailertable:
@virtdomain.com procmail:/path/to/virtdomain.com.rcв /path/to/virtdomain.com.rc
VIRTUSER=$1
DOMAIN=virtdomain.com
MAILDIR=/var/spool/vmail/$DOMAIN
:0
$VIRTUSER-----------------------------------------------------
этот вариант не подходит по нескольким причинам:
1. невозможно отслеживать disc quota для владельца домена, т.к. procmail в данном случае создаёт mailbox под своими правами [ rw------- root.root ]
2. не совсем удобно мастерить web интерфейс для редактирования custom фильтров для каждого доменатогда есть такой вариант:
в /etc/mail/virtusertable
@virtdomain.com owner+%1в /etc/mail/local-host-names
virtdomain.comв /home/owner/.procmailrc
VIRTUSER=$1
MAILDIR=/home/mail
:0
$VIRTUSER-----------------------------------
недостатками этого метода является:
1. невозможность написания custom фильтров для каждого домена, т.к. у owner'a может быть несколько доменов. причину я вижу в том, что не возможно передать domain получателя или хотя бы весь адрес получателя, а не только user из sendmail в procmail в переменную $1, если это каким то образом возможно, тогда эта проблема сходу решается.короче в идеале хотелось бы поиметь такую возможность
в /home/owner/.procmailrc
VIRTUSER=$1
DOMAIN=$2
INCLUDERC=.$DOMAIN.rcили
VIRTUSER=`echo $1 | cut -d"@" -f1`
DOMAIN=`echo $1 | cut -d"@" -f1`
INCLUDERC=.$DOMAIN.rc
Знатоки sendmail и procmail !
неужели никто не делал virtual домены через procmail !