JAF (Java Activation Framework) is now bundled with the JDK (Java Development Kit) . If you are using an older Java, to install JAF, open the download with WinZip and extract all files with folder names to the Program Files directory of some drive. Ditto for JavaMail. As of Java version 1.6, JAF is bundled with the JDK. Then make sure "J:\Program Files\jaf-1.1.1\activation.jar" and "J:\Program Files\javamail-1.5.6\javax.mail.jar" are explicitly mentioned in your classpath, (not just in a classpath directory!). Alternatively, add the jars to the ext directory.
You won’t likely directly use the JAF java.activation package, but JavaMail uses them. JavaMail also comes bundled with JavaEE.
Look on your local hard disk in the JAF downloaded docs J:\Program Files\jaf1.1.1\docs\javadocs\index.html or
JavaMail and JAF docs are not part of the JDK, but the source comes with EE (Enterprise Edition). JavaMail does not support the Windows proprietary MAPI (Messaging API) protocol. Oracle’s implementation of JavaMail is now open source.
JavaMail also supports Google Gmail and Yahoo mail.
The tutorial is the best way to get started, since it explains how all the classes fit together. The API docs give a lot of detail, but nothing on how it all fits together. Another way to understand it is to look at the demo examples, particularly msgsend.java to send and msgshow.java to receive. The term store refers to all your messages stored on the server’s hard disk. The term folder refers to the mail messages stored on the mail server in the SMTP INBOX. Folder. getMessages just gets message headers. MimeMessage. getContent gets the message body.
If you get a Message, you can’t close the Folder or Session until you are completely finished grabbing fields for the Message. Once the Session is gone, you can’t get any additional information about the Message. This is not that unusual, but it means you can’t write a method to return a Message object unless either:
Similarly you need to hold Folder and Session open in order to be able to later delete the Message from the server.
Most JavaMail applications involve reading a message and modifying it in some way and sending it on. Most mail servers will not permit you to modify the incoming message. You must create a new one and copy the parts over. There are three techniques you can use to copy.
You probably want to use transport.sendMessage ( message, recipients ), not Transport. send( message );
Often
message.setFlag( Flags.Flag.SEEN, true ); message.setFlag( Flags.Flag.DELETED, true );I have not yet tracked down why. I suspect it may be that the Session, Folder or MimeMessage times out if you wait too long.
JavaMail is does not provide a mailserver. You might use something like James rather that using your ISP (Internet Service Provider) ’s mailserver.
This page is posted |
http://mindprod.com/jgloss/javamail.html | |
Optional Replicator mirror
|
J:\mindprod\jgloss\javamail.html | |
Please read the feedback from other visitors,
or send your own feedback about the site. Contact Roedy. Please feel free to link to this page without explicit permission. | ||
Canadian
Mind
Products
IP:[65.110.21.43] Your face IP:[18.226.166.106] |
| |
Feedback |
You are visitor number | |