The JavaMail API defines classes such as Message, Store, and Transport. The API can be extended and can be subclassed to provide new protocols and to add functionality when necessary. In addition, the API provides concrete subclasses of the abstract classes. These subclasses, including MimeMessage and MimeBodyPart, implement widely used Internet mail protocols and conform to the RFC822 and RFC2045 specifications. The JavaMail API includes support for the IMAP4, POP3, and SMTP protocols.
The abstract layer declares classes, interfaces, and abstract methods intended to support mail handling functions that all mail systems support.
The internet implementation layer implements part of the abstract layer using the RFC822 and MIME internet standards.
JavaMail uses the JavaBeans Activation Framework (JAF) to encapsulate message data and to handle commands intended to interact with that data.
For more information, see Chapter 18, Administering the JavaMail Service, in Oracle GlassFish Server 3.0.1 Administration Guide and the JavaMail specification at http://java.sun.com/products/javamail/. A useful JavaMail tutorial is located at http://java.sun.com/developer/onlineTraining/JavaMail/.