JavaMail is an API for the automatic creation, sending, and receiving of email through Java programs. This is a very useful technology as it allows websites to run in a semi-autonomous state and communicate with end users while not requiring humans to actually intervene.
JavaMail can also be used as a communication protocol. Emails can be formatted (often with XML documents) and emailed to other systems for Processing.
The JavaMail API allows complete control over nearly every aspect of an email message. It is compatible with IMAP as well as POP3 servers and supports file attachments.
While email is not as reliable as other protocols, the ease and simplicity of JavaMail make it a popular candidate for early versions of networked software that avoid the headache of using other, more failsafe protocols.