#!/bin/sh
###############################################################################
#
# File:         sendmail-addheadsig
# RCS:          sendmail-addheadsig,v 1.2 1998/11/22 00:42:01 tom Exp
# Description:  A sendmail filter for with Mail.app
# Author:       Carl Edman
# Created:      Thu Aug 19 12:08:55 1993
# Modified:     Sun Nov 22 01:01:42 1998 <tom@basil.icce.rug.nl>
# Language:     Bourne shell
# Package:      mailapp-utilities
# Status:       Experimental (but distribute anyway)
#
# (C) Copyright 1993, but otherwise this file is perfect freeware.
#
###############################################################################

SENDMAIL=/usr/lib/sendmail; [ -f $SENDMAIL ] || SENDMAIL=/usr/sbin/sendmail

mkdir /tmp/maildir$$
cd /tmp/maildir$$
attach=`{ cat - ; echo ; } | sed -n '1,/^$/ !w content
/^$/,$ !w header
s/^Next-Attachment: \([^,]*\),.*$/\1/p;'`

if test -z "$attach"
then
  if test -r ${HOME}/.signature
  then
     echo "--" >>content
     cat ${HOME}/.signature >>content
  fi
else
  if test -d ${HOME}/.signature.rtfd -o -r ${HOME}/.signature.rtf
  then
    # Handle some silly system-dependencies (NS vs OS vs MOSXS)
    COMPRESS=/usr/ucb/compress; [ -f $COMPRESS ] || COMPRESS=/usr/bin/compress
    TAR=/NextApps/Mail.app/safetar; [ -f $TAR ] || TAR=/usr/bin/gnutar
    DECODE=/NextApps/Mail.app/decode; [ -f $DECODE ] || DECODE=/usr/local/lib/uudecode-filter
    ENCODE=/NextApps/Mail.app/encode; [ -f $ENCODE ] || ENCODE=/usr/bin/uuencode

    mkdir sub
    $DECODE <content | $COMPRESS -d -f | (cd sub; $TAR xf -)
    /bin/rm -f content
    if test -d ${HOME}/.signature.rtfd
    then
      cp -rp ${HOME}/.signature.rtfd/* sub
      mv sub/TXT.rtf sub/index.rtf .
    else
      cp ${HOME}/.signature.rtf ./TXT.rtf
      mv sub/index.rtf .
    fi
    sed '$ s/} *$//' < index.rtf >sub/index.rtf
    echo '--\' >>sub/index.rtf
    sed '1 s/^ *{//; s/{\\NeXTGraphic\([0-9]*\) \(.*\) \\width[0-9]* \\height[0-9]*$/{{\\attachment218\1 \2/;' <TXT.rtf | tr -d '\254' >>sub/index.rtf
    (cd sub; $TAR cf - .) | $COMPRESS -f | $ENCODE $attach >content
  fi
fi

{
cat header
if test -r ${HOME}/.add-header; then cat ${HOME}/.add-header; fi
echo
cat content
} | $SENDMAIL "$@"
cd /tmp
/bin/rm -rf /tmp/maildir$$
