finally got fetchmail, procmail and pine to work well together. now I need to get msmtp to work.[div align=\"right\"][a href=\"index.php?act=findpost&pid=123270\"][{POST_SNAPBACK}][/a][/div]
.pinerc:sendmail-path=/home/QtPalmtop/bin/msmtp-enqueue.sh
#!/bin/shQUEUEDIR=$HOME/.msmtpqueue# Set secure permissions on created directories and filesumask 077# Change to queue directory (create it if necessary)if [ ! -d "$QUEUEDIR" ]; then mkdir -p "$QUEUEDIR" || exit 1ficd "$QUEUEDIR" || exit 1# Create new unique filenames of the form# MAILFILE: ccyy-mm-dd-hh.mm.ss[-x].mail# MSMTPFILE: ccyy-mm-dd-hh.mm.ss[-x].msmtp# where x is a consecutive number only appended if you send more than one # mail per second.BASE="`date +%Y-%m-%d-%H.%M.%S`"if [ -f "$BASE.mail" -o -f "$BASE.msmtp" ]; then TMP="$BASE" i=1 while [ -f "$TMP-$i.mail" -o -f "$TMP-$i.msmtp" ]; do i=`expr $i + 1` done BASE="$BASE-$i"fiMAILFILE="$BASE.mail"MSMTPFILE="$BASE.msmtp"# Write command line to $MSMTPFILEecho "$@" > "$MSMTPFILE" || exit 1# Write the mail to $MAILFILEcat > "$MAILFILE" || exit 1# If we are online, run the queue immediately.# Replace the test with something suitable for your site.ping -c 1 www.google.com > /dev/null if [ $? -eq 0 ]; then msmtp-runqueue.sh > /dev/null &fiexit 0
QUEUEDIR="$HOME/.msmtpqueue"LOCKFILE="$QUEUEDIR/.lock"MAXWAIT=120# wait for a lock that another instance has setSECONDS=0while [ -e "$LOCKFILE" -a "$SECONDS" -lt "$MAXWAIT" ]; do sleep 1 SECONDS="`expr "$SECONDS" + 1`"doneif [ -e "$LOCKFILE" ]; then echo "Cannot use $QUEUEDIR: waited $MAXWAIT seconds for" echo "lockfile $LOCKFILE to vanish, giving up." echo "If you are sure that no other instance of this script is" echo "running, then delete the lock file." exit 1fi# change into $QUEUEDIR cd "$QUEUEDIR" || exit 1# check for empty queuedirif [ "`echo *.mail`" = '*.mail' ]; then echo "No mails in $QUEUEDIR" exit 0fi# lock the $QUEUEDIRtouch "$LOCKFILE" || exit 1# process all mailsfor MAILFILE in *.mail; do echo "*** Sending $MAILFILE..." MSMTPFILE="`echo $MAILFILE | sed -e 's/mail/msmtp/'`" if [ ! -f "$MSMTPFILE" ]; then echo "No corresponding file $MSMTPFILE found" echo "FAILURE" continue fi msmtp -t `cat "$MSMTPFILE"` < "$MAILFILE" if [ $? -eq 0 ]; then rm "$MAILFILE" "$MSMTPFILE" echo "$MAILFILE sent successfully" else echo "FAILURE" fidone# remove the lockrm -f "$LOCKFILE"exit 0
defaultslogfile /mnt/card/temp/msmtp.logaccount googlemailhost smtp.gmail.comfrom @gmail.comport 587auth onuser password tls onaccount default:googlemail