55 lines
1.4 KiB
Plaintext
55 lines
1.4 KiB
Plaintext
|
|
CAMEL
|
|
|
|
|
|
A generic Messaging Library
|
|
|
|
|
|
----
|
|
|
|
|
|
Introduction:
|
|
-------------
|
|
|
|
Camel is a generic messaging library. It supports the standard
|
|
messaging system for receiving and sending messages. It is the
|
|
messaging backend for Evolution.
|
|
|
|
The name "camel" stands for ... nothing. Open area of development there.
|
|
You know, that "bazaar" thing. Maybe could we organize a big contest on
|
|
gnome-list to find the best explanation :)
|
|
|
|
Camel draws heavily from JavaMail and the IMAP4rev1 RFC. People
|
|
wanting to hack on a provider should read the JavaMail API
|
|
specification, but CMC and MAPI are of interest too.
|
|
|
|
|
|
Organization:
|
|
-------------
|
|
|
|
The library is roughly a set of abstract classes, some kind of generic
|
|
"interfaces" (IDL interfaces, not Java interfaces).
|
|
|
|
Particular implementations are called providers.
|
|
|
|
Here are the basic objects:
|
|
|
|
* CamelService : An abstract class representing an access to a server.
|
|
Handles the connection and authentication to any server.
|
|
|
|
* CamelStore (CamelService): A hierarchy of folders on a server.
|
|
|
|
* CamelFolder : An object containing messages. A folder is always
|
|
associated with a store.
|
|
|
|
* CamelMessage : An object contained in folders. Is defined by a set
|
|
of attributes and a content. (Attributes include: the date it was
|
|
received, the sender address, .....)
|
|
|
|
* CamelTransport (CamelService): A way to send messages.
|
|
|
|
....
|
|
...
|
|
|
|
|