#!/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 (7-29-98) 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?: foo.boo.com <-Your service providers mail domain name.)" echo -n "Remote mail site?: " read SITE echo echo "Protocol?: pop3 <-My service provider uses the 'pop3' mail protocol.)" echo "Protocol?: auto <-If not sure put: auto" echo "Choices: pop2 pop3 apop imap imap-k4 kpop rpop etrn auto" echo -n "Protocol?: " read PROTO echo echo "Remote username?: jerry <-My username or login is jerry.)" echo -n "Remote username?: " read USR echo echo "Remote password?: ? <-What's the password for?: $USR" 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 if [ -s $HOME/.fetchmailrc ]; then mv $HOME/.fetchmailrc $HOME/.fetchmailrc.OLD fi echo 'poll "'$SITE'"' > $HOME/.fetchmailrc echo "protocol $PROTO" >> $HOME/.fetchmailrc echo 'username "'$USR'"' >> $HOME/.fetchmailrc echo 'password "'$PASS'"' >> $HOME/.fetchmailrc ps x >/tmp/grep.tmp 2>/dev/null if [ -s /tmp/grep.tmp ]; then if cat /tmp/grep.tmp | grep "sendmail: accepting" >/dev/null 2>&1 && grep "A=procmail" /etc/sendmail.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: $MAIL" if [ ! -s "$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 "/etc/sendmail.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