I'm looking to change the return-path of email so all email coming out
of our servers comes back to a common mailbox. My master.cf i have
added
filter unix - n n - - pipe
flags=Rq user=filter argv=/etc/postfix/filter -f ${sender} -- ${recipient}
My filter looks like
#!/bin/sh
# change these if needed
INSPECT_DIR=/var/spool/filter
SENDMAIL=/usr/sbin/sendmail
# 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; }
/usr/bin/alter_email.py -f in.$$ || \
{ echo Message content rejected; exit $EX_UNAVAILABLE; }
# Send the email on as per the Postfix stack
$SENDMAIL "$@" <in.$$
exit $?
alter_email.py runs fine and pretty much as the following in it
cmd = "/usr/bin/altermime --input=/var/spool/filter/%s
--alter-header=\"Return-Path\"
--alter-with=\"<[email protected]>\" --alter-mode=replace" %
(options.email_file, email_id)
p = Popen(cmd, shell=True, stdin=PIPE, stdout=PIPE, stderr=STDOUT,
close_fds=True)
So if i leave the trap commented out in my filter file the email is
saved there and the /var/spool/filter/in.* files are correct.. but
when I get the email the return-path is never changed.
Anything I am missing?
thanks!