#!/bin/sh
INSPECT_DIR=/opt/zimbra/var/spool/filter
SENDMAIL=/opt/zimbra/postfix/sbin/sendmail
ZIMBRA_HOME="/opt/zimbra"
POSTFIX_HOME="$ZIMBRA_HOME/postfix/conf"
DISCLAIMER_HOME="$POSTFIX_HOME/disclaimers"

# Exit codes from <sysexits.h>
EX_TEMPFAIL=75
EX_UNAVAILABLE=69

# Clean up when done or when aborting.
trap "rm -f in.$$" 0 1 2 3 15

# Start processing.
cd $INSPECT_DIR || { echo $INSPECT_DIR does not exist; exit $EX_TEMPFAIL; }

cat > in.$$ || { echo Cannot save mail to file; exit $EX_TEMPFAIL; }

# obtain domain name From
domain=`grep "From:" in.$$ | cut -d "@" -f 2 | cut -d ">" -f 1`

# check for attribute "zimbraDomainPrefMailSignatureEnabled"
enable=`/opt/zimbra/bin/zmprov gd $domain | grep zimbraDomainPrefMailSignatureEnabled | awk '{print $2}'`

if [ ! -z $enable ]; then                    # if not empty
     if [ $enable == "TRUE" ]; then          # if value = TRUE
        echo "TRUE"
        # Add a disclaimer to the mail
        /usr/local/bin/altermime --input=in.$$ --disclaimer=$DISCLAIMER_HOME/$domain \
           --disclaimer-html=$DISCLAIMER_HOME/$domain.html \
           --xheader="X-Copyrighted-Material: Please visit http://www.$domain/privacy.htm" || { echo Message content rejected; exit $EX_UNAVAILABLE; }
     else
             echo "FALSE"                    # value is FALSE
     fi
else
     echo "NONE"                             # domain doesn't have LDAP attributes
fi


$SENDMAIL -i "$@" < in.$$

exit $?

