I'm running exim-4.52 and testing out the mua_wrapper functionality.
I think there's a bug when a message is submitted with an empty envelope
sender, but I invite comments:
1. user submits a message using exim -f"<>" somewhere@???
2. exim runs in the foreground, connects to smarthost and sends the message
via SMTP
3. the smarthost rejects it at RCPT TO time with a 5xx response
4. rather than terminate with return code 1, exim returns with exit code 0
(as if delivery was successful) but freezes the message in its queue:
2005-09-14 14:02:06 1EFWtn-0001Ua-R9 ** asdhbasdfasdf@???
R=smarthost T=remote_smtp: SMTP error from remote mailer after RCPT
TO:<asdhbasdfasdf@???>: host x.x.x.x [x.x.x.x]: 550-Callout
verification failed:\n550-550-asdhbasdfasdf@??? is not an active
address at this host\n550 550 (Unrouteable address)
2005-09-14 14:02:06 1EFWtn-0001Ua-R9 Frozen (message created with -f <>)
Now, this doesn't seem to correspond with the documentation for mua_wrapper
mode, which says:
* Because no queueing is allowed, all failures are treated as permanent;
there is no distinction between 4xx and 5xx SMTP response codes from the
smart host.
Clearly, the message has been left in the queue in this case, and in a
frozen state too.
However, I'm able to work around the problem by setting
ignore_bounce_errors_after = 0s
in addition to mua_wrapper=true (then exim displays the 5xx error message
and returns with exit code 1 as I was expecting)
Perhaps this is worth a mention in the documentation for mua_wrapper? Or
should foreground delivery mode always return 1 for failed bounce messages
rather than keeping them in the queue and freezing them?
Regards,
Brian.