So I've been working on getting better errors returned back through the lmtp
and smtp mechanisms, and although the dsnuser structure has helped immensely
in making it easier to keep track of deliveries on a per-address basis, it
hasn't helped so much in getting those errors back out to the user.

The problem is in an assumption I made, which was that any given delivery
address would have only one return code and corresponding error text. This is
basically all that is allowed by the RFC's, but looking at what other mailers
are doing, it's not all in the numbers. It would be very useful to also give
back not just a simple explanation of the error code, but also a good message
about what happened. In the specific case of a distribution list, which is
what I'm most concerned about (because the other cases are straightforward and
already taken care of in the current code), giving back a list of users who
didn't receive the message. Or is that a bad move? Something like this:

415-Recipient <[EMAIL PROTECTED]> TEMP FAIL
415-Message exceeds quota space. The following users did not receive
415-your message because they lack sufficient space in their accounts:
415 andy, bob, jane, laura.

Yes, no, maybe? This would entail adding an additional list into the dsnuser
structure and some functions to format the output for the RFC's line
continuation format.

Aaron

Reply via email to