#!/bin/bash # # This file is an example post-data hook that will run standard filtering # utilities if they are available. # # - spamc (from Spamassassin) to filter spam. # - clamdscan (from ClamAV) to filter virus. set -e TF="$(mktemp --tmpdir "post-data-XXXXXXXXXX")" trap 'rm "$TF"' EXIT # Save the message to the temporary file, so we can pass it on to the various # filters. cat > "$TF" if command -v spamc >/dev/null; then if ! SL=$(spamc -c - < "$TF") ; then echo "spam detected" exit 1 fi echo "X-Spam-Score: $SL" fi if command -v clamdscan >/dev/null; then if ! clamdscan --no-summary --infected - < "$TF" 1>&2 ; then echo "virus detected" exit 1 fi echo "X-Virus-Scanned: pass" fi