tpipeto.sample-hold - plan9port - [fork] Plan 9 from user space
git clone git://src.adamsgaard.dk/plan9port
Log
Files
Refs
README
LICENSE
---
tpipeto.sample-hold (872B)
---
     1 #!/bin/rc
     2 
     3 # create a /tmp for here documents
     4 rfork en
     5 bind -c /mail/tmp /tmp
     6 
     7 KEY=whocares
     8 USER=ken
     9 
    10 RECIP=$1
    11 MBOX=$2
    12 PF=/mail/box/$USER/_pattern
    13 TMP=/mail/tmp/mine.$pid
    14 BIN=/bin/upas
    15 D=/mail/fs/mbox/1
    16 
    17 # save and parse the mail file
    18 {sed '/^$/,$ s/^From / From /'; echo} > $TMP
    19 upas/fs -f $TMP
    20 
    21 # if we like the source
    22 # or if the subject contains a valid token
    23 # then deliver the mail and allow all the addresses
    24 if( $BIN/list check $PF $D/from $D/sender $D/replyto )
    25 {
    26         $BIN/deliver $RECIP $D/from $MBOX < $D/raw
    27         $BIN/list add $PF $D/from $D/to $D/cc $D/sender
    28         rm $TMP
    29         exit 0
    30 }
    31 switch($status){
    32 case *!match*
    33         echo `{date} dropped $RECIP From `{cat $D/replyto} >> /mail/box/$USER/_bounced >[2] /dev/null
    34         rm $TMP
    35         exit 0
    36 }
    37 
    38 # don't recognize the sender so hold the message
    39 $BIN/deliver $RECIP $D/from /mail/box/$USER/_held < $D/raw
    40 
    41 rv=$status
    42 rm $TMP
    43 exit $status