I would like to suggest a new command for filters: "run" or "shell"
The point is that I do automatic processing of incoming mail to pseudo-user accounts based on the Subject.
If the mail is not recognised at the bottom of a .forward I have:
# Whoops
if not delivered
then mail to root@XXXXXX subject "Bad message sent to foobar" text "Look in the RawMessages file"
endif
That is OK as far as it goes, but I would really like to inject an error message into the
application error log on the box so that it can be picked up & dealed with like all other application
errors - this has to be done by running a program. I could go "pipe" and the command will ignore stdin,
but that is not what pipe is really for. I would like to go:
# Whoops
if not delivered
then shell /usr/local/bin/LogMsg "Bad message sent to foobar"
endif
The shell command should run setuid the pseudo user. The program will not generate output (stdout/stderr).
It would be nice to be able to set environment variables in the .forward file, eg:
shell -e SubSystem=Something /usr/local/bin/LogMsg "Bad message sent to foobar"
(I don't want bounces, etc, to the mail originator since that is probably an automatic process
on a machine in another company. My error log filter software will extract the message and send
it to whoever looks after that particular subsystem.)
--
Alain Williams
#include <std_disclaimer.h>