#!/bin/sh MSG() { cat << EOF # Fetchsetup is a shell script for creating a $HOME/.fetchmailrc # file, that will be used by the program "fetchmail" to connect to # your mail domain and retrieve your mail. # This script is linux specific, so it may not work on another system. # Kent Robotti (3-9-99) EOF } if [ ! "$UID" = "0" ]; then echo "NOTICE: * $LOGNAME * You need to be 'root' to run this script." echo "You could login: root" echo "You could also try this: # sudo fetchsetup" echo "You could also try this: # su -c fetchsetup" echo "This assumes the permissions on 'sudo' and 'su' are 4111." echo "To give 'su' or 'sudo' these permissions, you have to be root." echo "~# chown root.root sudo ; chmod 4111 sudo" echo "You also need a /etc/sudoers file for 'sudo'." exit 1 fi MSG echo -n "Continue? (Y/n) : " read ans if [ "$ans" = "n" -o "$ans" = "N" ]; then echo "Cancelled." exit 0 fi echo echo "Remote mail site?: pop.boo.com " echo -n "Remote mail site?: " read SITE echo echo "Protocol?: pop3 " echo "Protocol?: auto " echo "Choices: apop auto etrn imap imap-gss imap-k4 kpop pop2 pop3 rpop sdps" echo -n "Protocol?: " read PROTO echo echo "Remote username?: jerry " echo -n "Remote username?: " read USR echo echo "Remote password?: ? " echo -n "Remote password?: " read PASS echo echo -n "Create $HOME/.fetchmailrc file? (Y/n) : " read ans if [ "$ans" = "n" -o "$ans" = "N" ]; then echo echo "Fetchsetup cancelled." echo exit 0 fi echo 'poll "'$SITE'"' > $HOME/.fetchmailrc echo "protocol $PROTO" >> $HOME/.fetchmailrc echo 'username "'$USR'"' >> $HOME/.fetchmailrc echo 'password "'$PASS'"' >> $HOME/.fetchmailrc ps ax >/tmp/grep.tmp 2>/dev/null if [ -s /etc/sendmail.cf ]; then CF=/etc/sendmail.cf elif [ -s /etc/mail/sendmail.cf ]; then CF=/etc/mail/sendmail.cf fi if [ -s /tmp/grep.tmp ] && [ ! "$CF" = "" ]; then if cat /tmp/grep.tmp | grep "sendmail: accepting" >/dev/null 2>&1 && grep "A=procmail" $CF >/dev/null 2>&1 ; then MDA="1" fi fi rm -f /tmp/grep.tmp if [ ! "$MDA" = "1" ]; then if [ -x /usr/bin/procmail ]; then echo mda '"/usr/bin/procmail -d %s"' >> $HOME/.fetchmailrc MDA="2" elif [ -x /usr/local/bin/procmail ]; then echo mda '"/usr/local/bin/procmail -d %s"' >> $HOME/.fetchmailrc MDA="2" elif [ -x /usr/sbin/procmail ]; then echo mda '"/usr/sbin/procmail -d %s"' >> $HOME/.fetchmailrc MDA="2" elif [ -x /bin/procmail ]; then echo mda '"/bin/procmail -d %s"' >> $HOME/.fetchmailrc MDA="2" elif [ -x /sbin/procmail ]; then echo mda '"/sbin/procmail -d %s"' >> $HOME/.fetchmailrc MDA="2" elif [ -x /bin/mail.local ]; then echo mda '"/bin/mail.local %s"' >> $HOME/.fetchmailrc MDA="2" elif [ -x /usr/bin/mail.local ]; then echo mda '"/usr/bin/mail.local %s"' >> $HOME/.fetchmailrc MDA="2" else MDA="3" fi fi echo >> $HOME/.fetchmailrc echo echo "This is your $HOME/.fetchmailrc file." chmod 600 $HOME/.fetchmailrc echo cat $HOME/.fetchmailrc if [ ! "$MAIL" = "" ]; then echo "Fetchmail will retrieve your mail and put it in:" echo "$MAIL" if [ ! -f "$MAIL" ]; then touch $MAIL 2>/dev/null chmod 600 $MAIL 2>/dev/null fi fi echo if [ "$MDA" = "1" ]; then echo "You seem to have sendmail running, sendmail will be used" echo "as the (m)ail (d)elivery (a)gent for fetchmail." echo echo "WARNING: There's no way to know if sendmail is set up" echo "properly for local mail delivery, so the first time you" echo "run fetchmail run it this way: # fetchmail -k" echo echo "If the mail that fetchmail retrieves is not put in your mailbox," echo "you'll know that sendmail is not set up properly in the" echo "$CF file for delivery of local mail." echo elif [ "$MDA" = "2" ]; then echo "I put that (m)ail (d)elivery (a)gent in .fetchmailrc" echo "because i found it on your system, this doesn't mean" echo "it's correct or the one you want to use." echo echo "The first time you run fetchmail, you should run it" echo "this way: # fetchmail -k" echo elif [ "$MDA" = "3" ]; then echo "I Don't know what (m)ail (d)elivery (a)gent you're going to use." echo "You need a to deliver the mail to you, after retrieves it." echo echo "Put the in your .fetchmailrc file, like below." echo "password $PASS" echo mda '"/usr/bin/procmail -d %s"' echo mda '"/bin/mail.local %s"' echo echo "The first time you run fetchmail, you should run it" echo "this way: # fetchmail -k" echo fi