#!/bin/rc
rfork ne
if(~ $1 /mail/fs/mbox*){
dir=$*
}
if not{
upas/fs -f $1
dir=/mail/fs/mbox/[0-9]*
}
fn catmsg {
t=`{cat type}
switch($t){
case text/html
echo '
,x/<!--(-?[^\-]|--[^>]|\n)*-->/ c//
,x/<[^>]+>/d
,p
u
,y/<[^>]+>/d
,p
' | sam -d body |[2] sed '1d;/^\?/d'
case text/*
cat body
case message/*
cat body
case multipart/alternative
if(~ `{cat 1/type} text/plain)
cd 1 && {catmsg; cd ..}
if not if (~ `{cat 2/type >[2]/dev/null} text/plain)
cd 2 && {catmsg; cd ..}
if not {
for (i in [0-9]*)
cd $i && {catmsg; cd ..}
}
case *
echo $t
}
}
for(i in $dir){
cd $i
cat unixheader header
echo
catmsg
echo
}
|