Electronic mail refers to the method of exchanging digital messages from an author to one or more recipients over communications networks.
The JavaMail API provides a platform-independent and protocol-independent framework to for reading, composing, and sending emails.
Protocols supported in JavaMail API:
- 1. SMTP
- 2. POP
- 3. IMAP
- 4. MIME
- 5. NNTP and others
SMTP is an acronym for Simple Mail Transfer Protocol. It provides a mechanism to deliver email.
POP is an acronym for Post Office Protocol. POP provides a mechanism to get the emails. It provides support for single mail box for each user.
IMAP is an acronym for Internet Message Access Protocol. It is an advanced protocol for receiving messages. It provides support for multiple mailboxes for each user. It also provides the facility to share a single mailbox among multiple users.
MIME is an acronym for Multipurpose Internet Mail Extensions. MIME is not a mail transfer protocol. It defines the message information like format of the messages, attachments etc.
5. NNTP and others:
There are many protocols that are provided by third-party providers. Some of them are Network News Transfer Protocol (NNTP), Secure Multipurpose Internet Mail Extensions (S/MIME) etc.
JavaMail API architecture:
Java application uses JavaMail API to compose, send and receive emails. Java application uses the application-programming interface (JavaMail API) to send and receive mail messages. This part of the JavaMail API is protocol independent. JavaMail SPI (service provider interface) is a protocol specific part and used to plug in a provider of an e-mail service to the J2EE platform.