diff options
author | Jonas Smedegaard <dr@jones.dk> | 2002-04-24 01:35:04 +0000 |
---|---|---|
committer | Jonas Smedegaard <dr@jones.dk> | 2002-04-24 01:35:04 +0000 |
commit | 86be1a9e7c8291d3992e276489eacbbb584dc10f (patch) | |
tree | 52d31c74b56ee184d5b3c242846aeacd832598ad /localgotallmail | |
parent | 979950b1495e07b55a0d0344f4452babb64d811f (diff) |
More elegant galant...
Diffstat (limited to 'localgotallmail')
-rwxr-xr-x | localgotallmail | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/localgotallmail b/localgotallmail index b5022d9..32638d5 100755 --- a/localgotallmail +++ b/localgotallmail @@ -2,6 +2,8 @@ set -e +configfile=".gotmailauth" + if [ -e /etc/adduser.conf ]; then . /etc/adduser.conf else @@ -15,7 +17,14 @@ else USERS=`getent passwd | awk -F: '{print $1}'` fi +if [ "$VERBOSE" ]; then + opts="--verbose" +else + opts="--silent" +fi + for user in $USERS; do + uid=`getent passwd $user | awk -F: '{print $3}' | head -1` HOME=`getent passwd $user | awk -F: '{print $6}' | head -1` if [ -z "$HOME" ]; then echo "User $user doesn't exist. Ignoring..." @@ -28,11 +37,15 @@ for user in $USERS; do [ -d $HOME ] || continue # [ -L $HOME ] && continue - if [ -d $HOME/.gotmail-auth ]; then - for line in `cat $HOME/.gotmail-auth | egrep -v '^[[:blank:]]*#'`; do - login=`echo "$line" | sed 's/:.*//'` - pw=`echo "$line" | sed 's/.*://'` - su mail -c "gotmail -u $login -p $pw --delete-messages --silent --forwarding-email $user" + if [ -e $HOME/$configfile ]; then + for line in `cat $HOME/$configfile | egrep -v '^[[:blank:]]*#'`; do + login=`echo "$line" | awk -F: '{print $1}'` + pw=`echo "$line" | awk -F: '{print $2}'` + target=`echo "$line" | awk -F: '{print $3}'` + if [ -z "$target" ]; then + target=$user + fi + su mail -c "gotmail -u $login -p $pw --delete-messages --$opts --forwarding-email $target" done fi done |