I started working on a version of sort_and_deliver that takes a dsnuser struct
as an argument, and moved one of the loops from pipe.c into sort.c This gives
sort_and_delivery an understanding that there may be several actual deliveries
associated with a particular address. It's just a sketch right now, and
doesn't yet solve any problems (it's just structured better, imho).

The problem always boils down to this, though: how do we assemble the
different codes returned by each of the "mini-deliveries" into a single code
to return for the address itself? (note that this is a separate, though
related, problem to the SMTP issue of finding one code for multiple addresses
-- IMHO, we should be recommending to people to force the MTA to go one at a
time when using dbmail-smtp).

Aaron


Ilja Booij <[EMAIL PROTECTED]> said:

> Hi,
> 
> I've been looking at the code in lmtp.c, pipe.c, sort/sort.c and dsn.c 
> to see if we can do a bit better when a message can't be inserted 
> because of a user being over quotum.
> 
> We *should* return an 552 message to the MTA, but currently we return a 450.
> 
> What to do?
> 
> We use db_copymsg() to copy the temporary message to the user's mailbox. 
> db_copymsg signals the calling function when it fails because of an 
> 'over-quotum-error'. However, we then return a DSN_CLASS_TEMP anyway.
> 
> We should improve the code to be able report a 552 to the MTA so it can 
> send the appropriate bounce message.
> 
> Using LMTP, this should be quite easy, although we stil have a problem 
> when an alias expands to two users, one of which is over-quotum. In this 
> last case, I'd opt for sending the 552.
> 
> Using dbmail-smtp: I wonder what information we can send back to the MTA 
> and how we can do this (in what format).
> 
> Ilja
> 
> _______________________________________________
> Dbmail-dev mailing list
> Dbmail-dev@dbmail.org
> http://twister.fastxs.net/mailman/listinfo/dbmail-dev
> 



-- 



Reply via email to