On Fri, 2002-10-18 at 18:07, Fredrik wrote:
> After reading the dbmail manual i have a few suggestions.
> 
> DBMail shouldn't actually bounce a message if it has lost the connection 
> with the database (such as during a reboot of the dbserver)..
> It should send an error code back to the MTA with a softerror so that 
> the MTA can put the message back in the queue and retry to contact 
> dbmail-smtp a little bit later.
> 

According to RFC 1893, dbmail should signal the mta to generate a 4xx
error code, specifically a 430 error code.


3.4 Mail system status

       X.3.0   Other or undefined mail system status

          The destination system exists and normally accepts mail, but
          something about the system has caused the generation of this
          DSN.


However, I don't believe dbmail supports anything other than standard
exit codes (eg can't be an lmtp server to deliver extended status
attributes).  So it should just exit with the can't write to mailbox
temp fail exit code and be done with it.

> Maybe something similar should be implementet for the quota bounce.
> 

Quota bounces are also defined in 1893.  It should return a 422 and be
done with it.

      X.2.2   Mailbox full

          The mailbox is full because the user has exceeded a
          per-mailbox administrative quota or physical capacity.  The
          general semantics implies that the recipient can delete
          messages to make more space available.  This code should be
          used as a persistent transient failure.


> One suggestion would be.
> 1. New incomming email that will exceed the quota.
> 2. Dbmail sends a softerror/retrylater to the MTA and puts a small 
> warning message in the inbox.
So we're gonna push them even farther over the quota by filling their
mailbox with another message every time they get a mail that goes over
their quota...  why not just deliver the message?


> 3. It continues to do this until a configurable timeperiod has passed.
That's a lot more tracking for the system.

> 4. After the timeperiod has passed it should return to bouncing the 
> messages.
> 
It should bounce the message with 422 immediately according to the rfc



Reply via email to