Here's what I know is lacking in JAMES POP3 implementation:
- A message in a mailbox is stored in the filesystem as 2 files.  On NT
occasionally one of the two files would not get deleted...something in
JAMES/Avalon was still holding an input stream to this file, and NT would
prevent the delete accordingly.  This would "corrupt" the mailbox until this
file was deleted.  This ultimately was some bugs in the older Avalon code we
were using (I believe) and was patched... when we move to the new Avalon,
this should be fixed.
- Account locking is not implemented.  POP3 mailboxes are supposed to lock
on a login, i.e., I can't open 2 sessions to a POP3 mailbox and mail won't
deliver to a POP3 mailbox that's in use (delivery should just queue until
it's done).  We don't actually have to lock the account... just prevent
multiple logins (easy enough I think), and keep a list in memory per session
of what messages are in this mailbox (for the scope of the session)... JAMES
can put new messages in this mailbox, but this session just won't see them.
I believe this effectively would do what we want.
- It's very very slow with large emails.  Not only is it slow to retrieve
the message itself, whenever your mail client does a "LIST" of messages, ALL
messages in the mailbox have their entire mime structure parsed by
JavaMail...to find the content-length.  This is obviously very inefficient.
People have pointed out that JAMES really needs its own MimeMessage
implementation that would not load and parse the entire message (just the
headers), and then if and when someone needs the message body, parse that
appropriately.  This is rather tricky, but needs to get done at some point
to provide POP3 (and later IMAP4) any hope of good performance with large
messages.  There is a *lot* of good code that's gone into JavaMail, so I
think the best approach is figure a way to wrap or extend the MimeMessage so
that the parsing system of JavaMail could get leveraged.  All we really want
to add is a dynamic retrieval/parsing system triggered by certain method
calls.

Aside from these things, POP3 works quite nicely. :)  I've got about a dozen
users who use it and have been providing me with good feedback as to when
they have problems.  I thought I had come across one or two other POP3 spec
violations, but I don't think they were a big deal.

Serge Knystautas
Loki Technologies
http://ww.lokitech.com/
----- Original Message -----
From: "Robert Oxspring" <[EMAIL PROTECTED]>
To: "Java Apache Mail Server" <[EMAIL PROTECTED]>
Sent: Friday, November 03, 2000 7:59 AM
Subject: NT POP3 Development Status


> Hiya, just looking at using James (preferably with IMAP4 hint hint ;)
> but POP3 will do for now... The question is what makes the POP3 support
> for NT beta? - and is there any testing I can do to help? I've only got
> a small network with some Win 2000/98/ME boxes and one linux client, so
> if there is anything that I can help with let me know.




------------------------------------------------------------
To subscribe:        [EMAIL PROTECTED]
To unsubscribe:      [EMAIL PROTECTED]
Archives:  <http://www.mail-archive.com/james%40list.working-dogs.com/>
Problems?:           [EMAIL PROTECTED]

Reply via email to