On Sun, Nov 2, 2014 at 3:00 PM, Phillip Carroll <[email protected]> wrote: > I am now trying to narrow down my rewrite. I have tried the following, > based loosely on my reading of the doc section 31.11: > > apache@* "${if !eq {$sender_host_address} {} \ > {apache@$1} {postmaster@$1} }" Ffrs > > I tested with: > exim -d -v -bh 127.0.0.1 -C my.test.conf -brw apache@mydomain > > Result: The indicated headers are rewritten back to the original apache! > Unless I am totally dense, 127.0.0.* is my local host. Hence, should not > $sender_host_address be null? I also tried -bh with my actual server IP, > with the same result.
You are expecting $sender_host_address to be blank for SMTP connections from localhost. But when you are testing of $sender_host_address == "" (i.e. blank), you are checking to see if it was submitted locally, as in "cat file.eml | exim -t" or similar. It sounds like what you really want is to test if it comes from either 127.0.0.1 or if it's from a locally submitted process, and do the same rewrite for both. This is from the manual, chapter 11, definition of $sender_host_address: "When a message is received from a remote host, this variable contains that host’s IP address. For locally submitted messages, it is empty." ...Todd -- The total budget at all receivers for solving senders' problems is $0. If you want them to accept your mail and manage it the way you want, send it the way the spec says to. --John Levine -- ## 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/
