diff options
author | Jonas Smedegaard <dr@jones.dk> | 2002-04-24 01:04:09 +0000 |
---|---|---|
committer | Jonas Smedegaard <dr@jones.dk> | 2002-04-24 01:04:09 +0000 |
commit | 979950b1495e07b55a0d0344f4452babb64d811f (patch) | |
tree | 290bbc6bfa3078b03af591c72a0c666fb2c50c25 | |
parent | 187ef7be5910252924c54876aead52f147d4e324 (diff) |
New script: localgotallmail.
-rwxr-xr-x | localgotallmail | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/localgotallmail b/localgotallmail new file mode 100755 index 0000000..b5022d9 --- /dev/null +++ b/localgotallmail @@ -0,0 +1,38 @@ +#!/bin/sh + +set -e + +if [ -e /etc/adduser.conf ]; then + . /etc/adduser.conf +else + echo "/etc/adduser.conf missing. Exiting..." + exit 1 +fi + +if [ $# -gt 0 ]; then + USERS=$* +else + USERS=`getent passwd | awk -F: '{print $1}'` +fi + +for user in $USERS; do + HOME=`getent passwd $user | awk -F: '{print $6}' | head -1` + if [ -z "$HOME" ]; then + echo "User $user doesn't exist. Ignoring..." + continue + fi + + # Ignore non-human accounts silently + [ "$uid" -ge "$FIRST_UID" -a "$uid" -le "$LAST_UID" ] || continue + + [ -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" + done + fi +done |