summaryrefslogtreecommitdiff
path: root/localgotallmail
blob: f72c4ba96557962ee61b8a7bc216f47c4243717a (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. else
  18. opts="--silent"
  19. fi
  20. for user in $USERS; do
  21. uid=`getent passwd $user | awk -F: '{print $3}' | head -1`
  22. HOME=`getent passwd $user | awk -F: '{print $6}' | head -1`
  23. if [ -z "$HOME" ]; then
  24. echo "User $user doesn't exist. Ignoring..."
  25. continue
  26. fi
  27. # Ignore non-human accounts silently
  28. [ "$uid" -ge "$FIRST_UID" -a "$uid" -le "$LAST_UID" ] || continue
  29. [ -d $HOME ] || continue
  30. # [ -L $HOME ] && continue
  31. if [ -e $HOME/$configfile ]; then
  32. for line in `cat $HOME/$configfile | egrep -v '^[[:blank:]]*#'`; do
  33. login=`echo "$line" | awk -F: '{print $1}'`
  34. pw=`echo "$line" | awk -F: '{print $2}'`
  35. target=`echo "$line" | awk -F: '{print $3}'`
  36. if [ -z "$target" ]; then
  37. target=$user
  38. fi
  39. su mail -c "gotmail -u $login -p $pw --delete-messages $opts --forwarding-email $target || echo \"Gotmail from $login@hotmail.com to $target failed with error \$?\""
  40. done
  41. fi
  42. done