50 lines
678 B
Bash
Executable file
50 lines
678 B
Bash
Executable file
#!/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
|
|
}
|