#!/bin/bash
# credit Ron Bickers <rbickers@logicetc.com>
# modified for Koozali SME Server 
# see postfix local(8) for available env variables
# see qmail-local cli syntax
# seekablepipe is the key part to have it working
# see qmail-command for what qmail-local passes to dot-qmail file
# added support for dash extension

ORIGINAL="${ORIGINAL_RECIPIENT%%@*}"
case $ORIGINAL in
     "$USER")
        ;;
     "$USER-"*)
         EXTENSION="${ORIGINAL#$USER-}"
         LOCAL="${ORIGINAL_RECIPIENT%%@*}"
        ;;
     *"-junkmail")
        EXTENSION="junkmail"
        ;;
     *"-"*)
        #EXTENSION="${ORIGINAL##*-}" ; we only want a non greedy capture
        EXTENSION="${ORIGINAL#*-}"
        LOCAL="${ORIGINAL_RECIPIENT%%@*}"
        ;;
     *)
        # username not in  $ORIGINAL_RECIPIENT (eg redirected, group or pseudo)
        # no safe way to find extension
        ;;
esac
export PATH=$PATH:/usr/local/bin:/var/qmail/bin
tail -n +2 | /usr/local/bin/seekablepipe  qmail-local -- \
  "$USER" "$HOME" "$LOCAL" "${EXTENSION:+-}" "$EXTENSION"  "$DOMAIN" "$SENDER" ./Maildir/
e=$?
(($e == 111)) && exit 75
(($e == 100)) && exit 77
exit $e
