summaryrefslogtreecommitdiff
path: root/localgotallmail
blob: 6bce78c245eb27cccc839f06b9b76aa1640a6668 (plain)
  1. #!/bin/sh
  2. set -e
  3. configfile=".gotmailauth"
  4. if [ -e /etc/adduser.conf ]; then
  5. . /etc/adduser.conf
  6. else
  7. echo "/etc/adduser.conf missing. Exiting..."
  8. exit 1
  9. fi
  10. if [ $# -gt 0 ]; then
  11. USERS=$*
  12. else
  13. USERS=`getent passwd | awk -F: '{print $1}'`
  14. fi
  15. if [ "$VERBOSE" ]; then
  16. opts="--verbose"
  17. fi
  18. for user in $USERS; do
  19. uid=`getent passwd $user | awk -F: '{print $3}' | head -n 1`
  20. HOME=`getent passwd $user | awk -F: '{print $6}' | head -n 1`
  21. if [ -z "$HOME" ]; then
  22. echo "User $user doesn't exist. Ignoring..."
  23. continue
  24. fi
  25. # Ignore non-human accounts silently
  26. [ "$uid" -ge "$FIRST_UID" -a "$uid" -le "$LAST_UID" ] || continue
  27. [ -d $HOME ] || continue
  28. # [ -L $HOME ] && continue
  29. if [ -e $HOME/$configfile ]; then
  30. for line in `cat $HOME/$configfile | egrep -v '^[[:blank:]]*#'`; do
  31. login=`echo "$line" | awk -F: '{print $1}'`
  32. pw=`echo "$line" | awk -F: '{print $2}'`
  33. target=`echo "$line" | awk -F: '{print $3}'`
  34. if [ -z "$target" ]; then
  35. target=$user
  36. fi
  37. su mail -c "gotmail -u $login -p $pw --delete --use-sa --delete-spam $opts --forwarding-email $target || echo \"Gotmail from $login@hotmail.com to $target failed with error \$?\""
  38. done
  39. fi
  40. done