Apache James Core Concepts
The core domain of Apache James is intimately related to email communications. Therefore this section is divided into topics that deal with the various aspect of email systems.
Email Messages
Electronic Mail (often written as "e-mail" or "email") is a means of exchanging messages over a data network. In our context, it is obvious that we mean "electronic mail" and not "postal mail", so we usually just write "mail".
Email messages are based on a few specifications that are not easy to digest, so we make an effort to provide a simplified model.
Transmission Protocols
Emails are only useful because people can communicate with each other. To allow for this, obviously there must be a means of transmitting messages from one user to another. A number of different protocols have emerged to handle the various different requirements of using email in a practical manner. The most common transmission protocols are SMTP, POP, and IMAP. More recently JMAP is an interesting protocol that merits attention.
Mailbox and Email Storage
Email would not be very useful if, like in Mission Impossible, a message would self-destruct immediately after being read. For those of us who are not secret agents, we generally prefer to keep a record of those messages that we receive. For this reason we need a means of storing messages.
Email Processing
There are many ways to peel a potato. James has its own particular model for processing mail, based mostly on the concept of a "Mailet". The idea of Mailet-based processing was heavily inspired by the Servlet concept.