Actually, I looked at my implementation and it's not actually receiving anything except the command line parameters. I am reading the body from the spool (ick). I am actively trying to tweak the router to optionally pipe the entire message (not sure which RFC... x822) to the external command. I know it's heavy-handed but I haven't come up with a better solution.
The mail configuration I have basically does the following:
(1) Filter as much incoming traffic as possible using DNSBL and static blacklists,
(2) Pass the message to a web service to be inspected/routed (whitelist/graylist/blacklist); These rules are maintained by an operations team and change frequently.
(3) Optionally forward the message to end recipient.
I thought about doing all of this in a pipe transport but I have fewer options at that point should something go wrong (although that's just my gut feeling).
-----Original Message-----
From: Exim-users [
mailto:exim-users-bounces+koye=ekaria.com@exim.org] On Behalf Of Jeremy Harris
Sent: Monday, May 16, 2016 6:57 AM
To: exim-users@???
Subject: Re: [exim] QueryProgram Router Question
On 14/05/16 02:41, Kris Oye wrote:
> For better or worse, I am using the queryprogram router to evaluate incoming messages against a complex set of rules managed by an external application. Currently, I am only getting the message body piped to my external program and I have to pass the SMTP header via a command line switch (gross). I am wondering if:
>
Curiously, I don't see in the docs chapter for the queryprogram router any definition of what gets fed into the command pipe. I can only blame this on the lack of common need for the router...
The book (ISBN 0-9544529-0-9) says "No input is provided for the command" - which seemingly does not match what you find in practice.
To be clear: you're getting the 5822 body but not the 5822 headers
(and you'd like the latter)? You're not referring to 5821
envelope information?
>
> (1) Is there an option to pass the entire message via the pipe (modified headers + body)?
I don't see one.
> (2) If there is no such option can I make that a feature request?
Certainly; open a bug at
https://bugs.exim.org/ (and label it as "wishlist").
No promises on when or if, I'm afraid.
--
Cheers,
Jeremy
--
## List details at
https://lists.exim.org/mailman/listinfo/exim-users
## Exim details at
http://www.exim.org/
## Please use the Wiki with this list -
http://wiki.exim.org/