On Thu, 26 Oct 2006, Marten Lehmann wrote:
> 2006-10-26 02:38:14 1GctG3-0001W9-M3 ** test@??? R=mailbox_cyrus
> T=mailbox_lmtpunix: LMTP error after end of data: 554 5.6.0 Message
> contains NUL characters
>
> The failures are not exim's fault, but as the sender of such an email I
> only get a bounce message without any hint on the problem that occured:
That's because many sysadmins do not want to allow such "internal"
information to be passed outside.
> This message was created automatically by mail delivery software.
>
> A message that you sent could not be delivered to one or more of its
> recipients. This is a permanent error. The following address(es) failed:
>
> test@???
>
> ------ This is a copy of the message, including all the headers. ------
> [...]
After all, what can the outside sender do about it? Mail the postmaster
is about all, and you can do that either way.
> How can I put the detailed LMTP-error into the bounce message? Otherwise
> our users always have to forward the email to me, I have to look for an
> according entry in the logfile and have to tell them what was going on.
> That's very annoying.
However, despite what I said above, the code in the smtp transport is
supposed to let the message through to the user for LMTP errors. Are you
using the smtp transport in LMTP mode? Or are you using an lmtp local
tramsport? I suspect the latter.
Aha! I see that the lmtp transport is different from the smtp transport
in this respect. I will do some experiments, but not till next week at
the earliest. Meanwhile, if you want to experiment, edit the
transports/lmtp.c file, find the statements containing "LMTP error after",
and insert
setflag(addr, af_pass_message); /* Allow message to go to user */
immediately after them (there are 3 instances). WAIT! That will only
work for the second two cases. I'll have to do more work for the first
instance (line 177).
--
Philip Hazel University of Cambridge Computing Service
Get the Exim 4 book: http://www.uit.co.uk/exim-book