head	1.3;
access;
symbols
	5-0-2:1.3
	5-0-1:1.3
	5-0-0:1.2;
locks; strict;
comment	@# @;


1.3
date	99.04.17.20.26.24;	author esr;	state Exp;
branches;
next	1.2;

1.2
date	99.03.09.22.08.47;	author esr;	state Exp;
branches;
next	1.1;

1.1
date	99.03.09.22.07.55;	author esr;	state Exp;
branches;
next	;


desc
@@


1.3
log
@Another update from Kent Robotti.
@
text
@#!/bin/sh

MSG() {
cat << EOF

# Fetchsetup is a shell script for creating a .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 <krobot@@erols.com> (3-31-99)

EOF
}

if [ ! "$UID" = "0" ]; then
echo "[$LOGNAME] You need to be [root] to run this script."
echo "You could login: root"
echo "You could also try one of these: # sudo fetchsetup"
echo "                                 # su -c fetchsetup"
exit 1
fi

MSG
echo -n "Continue? (Y/n) : "
read ans
if [ "$ans" = "n" -o "$ans" = "N" ]; then
echo "Cancelled."
exit 0
fi

stty erase "^?" 2>/dev/null

echo
echo "Remote mail site?: pop.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: apop auto etrn imap imap-gss imap-k4 kpop pop2 pop3 rpop sdps" 
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

echo 'poll "'$SITE'"' > $HOME/.fetchmailrc
echo "protocol $PROTO" >> $HOME/.fetchmailrc
echo 'username "'$USR'"' >> $HOME/.fetchmailrc
echo 'password "'$PASS'"' >> $HOME/.fetchmailrc
 
PROCMAIL=`type -all procmail | sed -n "1 p" | cut -d' ' -f3`  
SENDMAIL=`type -all sendmail | sed -n "1 p" | cut -d' ' -f3`  

if [ ! "$PROCMAIL" = "" ]; then
echo 'mda "'$PROCMAIL -d %s'"' >> $HOME/.fetchmailrc
MDA="1"
elif [ ! "$SENDMAIL" = "" ]; then
echo 'mda "'$SENDMAIL %s'"' >> $HOME/.fetchmailrc
MDA="2"
else
MDA="3"
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 "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" = "2" ]; then
echo "You seem to have sendmail, 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 for the delivery" 
echo "of local mail."
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 <mda> to deliver the mail to you, after <fetchmail> retrieves it."
echo
echo "Put the <mda> in your .fetchmailrc file, like below."
echo "password $PASS"
echo mda '"/usr/bin/procmail -d %s"'
echo mda '"/usr/sbin/sendmail %s"'
echo
echo "The first time you run fetchmail, you should run it"
echo "this way: # fetchmail -k"
echo
fi
@


1.2
log
@Updated.
@
text
@d6 3
a8 3
# 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. 
d10 1
a10 1
# Kent Robotti <krobot@@erols.com> (3-9-99)
d16 1
a16 1
echo "NOTICE: * $LOGNAME * You need to be 'root' to run this script."
d18 2
a19 6
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'."
d31 2
d66 3
d70 2
a71 11
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
d73 2
a74 26
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
a78 1
fi
d100 9
a108 1
echo "You seem to have sendmail running, sendmail will be used"
d111 1
a111 1
echo "WARNING: There's no way to know if sendmail is set up"
d116 2
a117 10
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"
d126 1
a126 1
echo mda '"/bin/mail.local %s"'
@


1.1
log
@Initial revision
@
text
@d10 1
a10 1
# Kent Robotti <krobotti@@erols.com> (7-29-98)
d36 1
a36 1
echo "Remote mail site?: foo.boo.com   <-Your service providers mail domain name.)"
d40 3
a42 3
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" 
d46 1
a46 1
echo "Remote username?: jerry   <-My username or login is jerry.)"
d50 1
a50 1
echo "Remote password?: ?       <-What's the password for?: $USR"
a63 4
if [ -s $HOME/.fetchmailrc ]; then
mv $HOME/.fetchmailrc $HOME/.fetchmailrc.OLD
fi

d69 7
a75 1
ps x >/tmp/grep.tmp 2>/dev/null
d77 1
a77 1
if [ -s /tmp/grep.tmp ]; then
d79 1
a79 1
grep "A=procmail" /etc/sendmail.cf >/dev/null 2>&1 ; then
d123 3
a125 2
echo "Fetchmail will retrieve your mail and put it in: $MAIL"
if [ ! -s "$MAIL" ]; then
d138 1
a138 1
echo "run fetchmail, run it this way. -> ~# fetchmail -k"
d142 1
a142 1
echo "/etc/sendmail.cf file, for delivery of local mail."
d145 1
a145 1
echo "I put that (m)ail (d)elivery (a)gent in .fetchmailrc,"
d150 1
a150 1
echo "this way. -> ~# fetchmail -k"
d162 1
a162 1
echo "this way. -> ~# fetchmail -k"
@
