From: Eric S. Raymond Date: Tue, 9 Mar 1999 22:07:55 +0000 (-0000) Subject: Initial revision X-Git-Url: http://pileus.org/git/?a=commitdiff_plain;h=affae7a88b4e1a5d4b1bd41584ba386dd7f65f04;p=~andy%2Ffetchmail Initial revision svn path=/trunk/; revision=2407 --- diff --git a/contrib/fetchsetup b/contrib/fetchsetup new file mode 100755 index 00000000..6434d2c6 --- /dev/null +++ b/contrib/fetchsetup @@ -0,0 +1,161 @@ +#!/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