[comp.mail.misc] IMAP 2 Protocol Questions

kehres@lance.tis.llnl.gov (Tim Kehres) (01/13/90)

[]

I am in the middle of implementing an mail server that communicates 
with the outside world (clients) via the IMAP 2 protocol as specified 
in RFC 1064.  In the protocol specification, it makes reference in several 
places to a Lisp-like S-expression format.  Not being a Lisp programmer, 
and not finding any other references to this in the RFC, I am not sure what 
such an expression format is to look like.  There are some examples in the 
RFC, but it would be nice if I could find a more formal description prior
to the final coding.  Does anyone know of a more formal description of 
what this format looks like?

In addition, there are a few areas that I am concerned with regarding
this protocol.  They are:

  o  No support in the protocol for the sending of messages.  We will 
     probably get around this by extending the protocol to allow a
     "pass-through" SMTP mode and/or having the server handle the
     queueing of the messages.

  o  There does not seem to be any way for the client to request a list
     of mailbox names that it has access to.  Perhaps I am just missing
     something here?

  o  The IMAP 2 SEARCH command only operates on the currently selected
     mailbox.  Since many mailbox searches will be across multiple mailboxes,
     this ability to perform multiple mailbox searches should probably be 
     present in the server instead of requiring the client to perform the
     multiple identical searches across many mailboxes.  In addition, if the 
     client does not know the names of the mailboxes it has access to (see 
     previous item), this might not even be possible.

By my comments here, please don't think that I am overly critical.  I believe
that it is probably the best of the current internet mailbox protocols.  I
do believe that there are some extentions that may be necessary in order to
produce robust clients and servers.  If there was just some way that we 
could make it look like the X.400 P7 protocol.   :-)   :-)

Has anyone else had any experience implementing either clients or servers
for this protocol?  Did you experience any similiar concerns, and did you
need to provide for any extentions?

Regards,

Tim Kehres
kehres@tis.llnl.gov