Electronic messaging systems require different standards, or protocols, for completing various tasks. Some are used to send messages (transfer protocols), whereas others are used to receive (store protocols). Still others are used to define attachments. If you've ever configured your own email applications, such as Eudora or MS Outlook, you know that you had to supply a POP3 provider address to receive messages, as well as an SMTP provider to send messages. Your WebLogic applications are no different, and will require a service provider for each protocol you're working with.
Let's clarify some terms here before continuing. An electronic messaging protocol can be defined as common language for performing certain tasks, such as sending or receiving a message. A service provider is the mail server, or service, hosting the protocol, such as an IMAP server running on your company's intranet, or the popular smtp.mail.yahoo.com or pop.mail.yahoo.com servers provided by Yahoo!. Your application functionality is limited to the functionality of the protocols it's using. This will become clearer as we take a look at each of the protocols in a little more detail:
The Simple Mail Transfer Protocol (SMTP) is a mechanism for the delivery of electronic messages. It sends mail and that's all it does. In the context of the JavaMail API, your application will communicate with your intranet or ISP's SMTP server to send messages to it.
The Post Office Protocol (POP) is a simple mechanism for retrieving (or fetching) electronic messages. It's currently in version 3, so it's often referred to as POP3.
The Internet Messaging Access Protocol (IMAP) is another mechanism for retrieving electronic messages. It's currently in version 4, so it's often referred to as IMAP4. IMAP has a few more capabilities than POP, such as the capability to assign multiple folders to users on the server and provide folder sharing among multiple users. It does have a few drawbacks, however, that keep it from replacing POP as the premier protocol for receiving messages. IMAP places a greater burden on the mail server in terms of both processing power and storage. Not only does it have to receive messages and deliver them to the proper recipients, it must also maintain shared folders and retain a copy of each message for each user on the server itself. Disk space on an IMAP server can get used up very quickly. POP servers, on the other hand, may delete messages from the server after they've been accessed by the POP client.
The Multipurpose Internet Mail Extension (MIME) protocol is neither a transfer or store protocol, but rather a kind of content protocol. It defines how the content of the message is transferred. For instance, your email message may be sent as text displayed in the body of the message, or perhaps it's an attachment that will be opened by another client application (such as an attached JPEG file or MS Word document).
As you can see, each protocol is pretty limited in what it can do. Features found in commercial email applications, such as capability to report new messages, send automated replies, apply filters, and automatically move messages to other folders, are actually programmed by the developer, and are not functions of the protocols. There also exist many extensions provided by third parties that can greatly enhance the capabilities and functions of your electronic messaging programs. We go over a few in the next section.