summaryrefslogtreecommitdiff
path: root/localgotallmail
diff options
context:
space:
mode:
authorJonas Smedegaard <dr@jones.dk>2002-04-24 01:04:09 +0000
committerJonas Smedegaard <dr@jones.dk>2002-04-24 01:04:09 +0000
commit979950b1495e07b55a0d0344f4452babb64d811f (patch)
tree290bbc6bfa3078b03af591c72a0c666fb2c50c25 /localgotallmail
parent187ef7be5910252924c54876aead52f147d4e324 (diff)
New script: localgotallmail.
Diffstat (limited to 'localgotallmail')
-rwxr-xr-xlocalgotallmail38
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