I presume that you would want SMTPHandler to return a 452 error.

One issue is that James really tries to be asynchronous in processing.  As I
pointed out earlier, the ConnectionHandler is the only part of James that
really follows a request-response model.  When SMTPHandler calls
MailServer.sendMail(), it is done (from the perspective of the sender), but
that is when processing actually begins.  This effectively hinders James
from returning certain classes of error codes, e.g., an over quota error for
a user, or relaying not allowed.

If MailServer.sendMail() were synchronous, it would act as a natural (but
still scalable) throttle, enable additional responses, and allow the
components of the processing chain to participate in the request-response
model.

I presume that these issues were considered when when James' processing
model was designed, so I'm keen to hear from Serge.

        --- Noel

-----Original Message-----
From: Andrei Ivanov [mailto:[EMAIL PROTECTED]]
Sent: Monday, June 03, 2002 5:13
To: James Developers List
Subject: Re: Stroage Quota - need advice


Hi,
thank you guys for advices, but I was thinking about slightly different
thing.
Of course a mailet can be implemented to check quotas etc.
But this mean that before a user quota is to be checked mail will still get
to spool.  And this is what my primary concern is about.
After improving SMTPHandler I was able to "pump" James with mails so that,
after "pumping" stooped it takes time for James to process all mails it has
received. If pumping continues you know what happens :-)
My opinion is that regardless of per user quota there should be a global
parameter which sets total number of messages can be handled by
JamesSpoolManager. And if this number is exceeded, SMTPserver shall just
stop handle new connections before spool is emptied enough.
Andrei


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to