#!/bin/ksh # # $Id: postexten,v 1.2 2008/01/30 00:16:12 vogelke Exp $ # # Handle Postfix extension addresses. Expects a mail message on stdin. # The LOGNAME environment variable should be your userid. PATH=/usr/local/bin:/usr/local/sbin:/opt/sfw/bin:/bin:/usr/bin MAIL=/var/mail/${LOGNAME} export PATH MAIL umask 022 tag=`basename $0` # save the mail message. TMPFILE=`mktemp /tmp/$tag.XXXXXX` test -z "$TMPFILE" && exit 1 cat - > $TMPFILE # get the message ID set X `grep -i "^Message-Id:" $TMPFILE | tr ".@" " "` msgid="$4" # forward it to the appropriate handler. # original header: Delivered-To: username-ext1-ext2@example.com # results after set: X ext1-ext2 set X `grep "^Delivered-To: ${LOGNAME}-" $TMPFILE | tail -1 | sed -e "s/^Delivered-To: ${LOGNAME}-//" | cut -f1 -d'@'` ext="$2" case "$ext" in "") ;; *) script="$HOME/.postfix-$ext" if test -x "$script"; then $script < $TMPFILE postlog $msgid handled by $script else postlog $msgid appended to $MAIL lockfile -ml && cat $TMPFILE >> $MAIL && lockfile -mu fi ;; esac rm $TMPFILE exit 0