From 7ab8617fdf4d9cc482ed03ed7168480de96550c2 Mon Sep 17 00:00:00 2001 From: Jonas Smedegaard Date: Tue, 5 Mar 2002 02:25:56 +0000 Subject: localmkpostfixvirtual: Alow dash ("-") in email domainpart as well. Look for localpart hints in root account. --- localmkpostfixvirtual | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'localmkpostfixvirtual') diff --git a/localmkpostfixvirtual b/localmkpostfixvirtual index 099852d..4a996e6 100755 --- a/localmkpostfixvirtual +++ b/localmkpostfixvirtual @@ -14,7 +14,7 @@ function get_fullname_field() { getent passwd $1 | awk -F: '{print $5}' | awk -F function get_roomnumber_field() { getent passwd $1 | awk -F: '{print $5}' | awk -F, '{print $2}'; } function get_other_field() { getent passwd $1 | awk -F: '{print $5}' | awk -F, '{print $5}'; } function get_groups() { groups $1 | sed -e 's/^.*: //' -e "s/\( \+\|^\)$1\( \+\|$\)/\1/"; } -function get_domain() { echo $1 | egrep "^@[\.[:alnum:]]+$" | sed -e 's/@//'; } +function get_domain() { echo $1 | egrep "^@[\.[:alnum:]-]+$" | sed -e 's/@//'; } function get_account() { echo $1 | egrep "^[\.[:alnum:]-]+@($gid)?$" | sed -e 's/@.*//'; } loop="" @@ -28,7 +28,16 @@ for gid in $@; do fi loop=true echo "$maildomain VIRTUAL" - echo "postmaster@$maildomain root" + uid_seen="" + for mailaccountchunk in `get_other_field root`; do + for mailaccount in `get_account $mailaccountchunk`; do + echo "$mailaccount@$maildomain root" + uid_seen=true + done + done + if [ ! $uid_seen ]; then + echo "postmaster@$maildomain root" + fi echo mailusers="" for mailgroup in `get_roomnumber_field $gid`; do -- cgit v1.2.3