fetchspool
上传用户:xxcykj
上传日期:2007-01-04
资源大小:727k
文件大小:1k
- #!/bin/sh -
- #
- # Quick hack for fetchmail to locally spool messages.
- #
- # To spool:
- # fetchmail --mda "fetchspool -t %T %F"
- # To de-spool
- # fetchspool -f
- #
- # Robert de Bath <robert@mayday.cix.co.uk>
- # updated by william boughton <bill@xencat.demon.co.uk>
- # 4th/10/1998 and tested
- #
- # William Boughton comments:
- # Still has some potential problems, with using inline from address.
- # The use of _ is bad because fetchmails uses this if it notices
- # shell escapes.
- # 10th/11/1998
- # Changed to using 3 _@@s to delimit the message, i hope this is ok.
- # Whilst i have tested and used this script, with my demon account and
- # SDPS, it may still have serious problems, that i've not noticed etc.
- MAILSPOOL=/tmp/spool
- if [ "$1" != "-f" ]
- then
- if [ "$1" = "-t" ]
- then
- ADDR="$2"
- FROM="$3"
- else
- ADDR="$1"
- FROM="$2"
- fi
- cat - > $MAILSPOOL/tmp.$$ || exit 1
- mv $MAILSPOOL/tmp.$$ "$MAILSPOOL/msg.`date +%j%H%M%S`$$.to.${ADDR}_@@${FROM}" || exit 1
- exit 0
- else
- for i in $MAILSPOOL/msg.*.to.*
- do
- [ -f "$i" ] || continue
- # TO="`echo "$i" | sed 's/^msg.[^.]*.to.//'`"
- TO=$(basename $i | sed -e 's/^msg.[^.]*.to.//' -e 's/_@@.*$//')
- FROM=$(basename $i | sed 's/^msg.[^.]*.to.*_@@//')
- # need the <> so for bounces to have a proper from addr
- echo the to was <$TO> and the from <$FROM>
- /usr/lib/sendmail -f <${FROM}> -oem "$TO" < "$i" ||
- {
- echo "Sendmail failed on `basename "$i"`"
- continue
- }
- rm -f "$i"
- done
- exit 0
- fi