NOTES.txt
资源名称:某公司的java培训教材 [点击查看]
上传用户:dinglihq
上传日期:2013-02-04
资源大小:99958k
文件大小:10k
源码类别:
Java编程
开发平台:
Java
- NOTES
- =====
- JavaMail(TM) API 1.3.1 release
- ------------------------------
- Welcome to the 1.3.1 release of the JavaMail API implementation.
- Please refer to CHANGES.txt for a list of the changes since the
- previous release.
- Please see the FAQ at http://java.sun.com/products/javamail/FAQ.html
- Protocol Providers
- ------------------
- The JavaMail API jar file "mail.jar" includes the full JavaMail API
- implementation and *all* the Sun protocol providers - IMAP, SMTP, and
- POP3. The simplest way to use the JavaMail API is to just use the
- mail.jar file and ignore the other jar files in this package.
- In some cases it may be desirable to minimize the size of the JavaMail
- API code used by an application (e.g., when downloading with an applet).
- In this case you might want to include the "mailapi.jar" file, which
- includes *no* protocol providers, along with just the jar file for the
- protocol provider you need. For example, an applet that only needs to
- send mail could use the "mailapi.jar" file and the "smtp.jar" file.
- A few important notes when using the separate protocol provider jar files:
- 1. To use more than one protocol provider jar file, you should use J2SE
- 1.2 or newer. Or simply use "mail.jar".
- 2. You can't mix and match the Sun protocol providers between different
- releases of the JavaMail API. The Sun protocol providers depend on
- implementation-specific utility APIs within the mailapi.jar file.
- (Third party protocol providers that don't depend on these APIs
- should work fine.)
- NOTE: The Sun protocol provider documentation that was previously
- included in this file is now available in javadoc format, see
- docs/javadocs/index.html in the directory where you extracted
- the JavaMail API zip file. This documentation describes how to
- use features of the Sun protocol providers to directly access
- some features of the SMTP, IMAP, and POP3 protocols that are
- not otherwise supported by the standard JavaMail API.
- How to submit bug reports
- -------------------------
- If you've found a bug, or if you just need help figuring out how to use
- the JavaMail API, please try to include the following information in
- your message to us:
- - a program or code snippet that shows the problem
- - the platform you are using
- - the mail server (vendor name, version number) you are using
- - your environment variable settings
- - a stack trace, if appropriate
- - a protocol trace, after turning on session debugging, if appropriate
- Most of the problems reported to us fail to include enough of the above
- information to allow us to diagnose your problem. It will save you and
- us time if you include this information in your first message to us.
- By far the most common problems we see are:
- Your problem: Something doesn't work right when talking to my mail server.
- Our response: Turn on session debugging and send us the protocol trace.
- See the demo program documentation for how to turn on
- session debugging for the demo programs. In your own
- program, call "session.setDebug(true);".
- Your problem: javax.mail or javax.activation classes not found when compiling.
- Our response: You didn't set CLASSPATH correctly to find mail.jar and
- activation.jar. See README.txt.
- Your problem: NoSuchProviderException - No such provider for rfc822.
- Our response: You unjar'ed mail.jar. Don't.
- Your problem: How do I create a message with an attachment?
- Our response: Create a message with a MimeMultipart content. See the
- sendfile.html and msgmultisendsample.java demo programs.
- Please check the FAQ at http://java.sun.com/products/javamail/FAQ.html
- before submitting bug reports.
- Send your bug reports to:
- javamail@sun.com
- A list of the known limitations, bugs, issues:
- ----------------------------------------------
- 1. Unsigned applets that use this version of the JavaMail API *will*
- work under the Netscape 4 browser, but only in limited fashion, due
- to security restrictions that prevent the "provider" and "mailcap"
- related files from being loaded from mail.jar and activation.jar.
- The JavaMail API will use built-in versions of its configuration
- files in this case.
- Applets will work in the Netscape 6 browser and the Internet
- Explorer browser, with or without the Java(TM) Plug-in
- (http://java.sun.com/products/plugin).
- 2. Internationalization. Parameter encoding in MIME headers, as
- specified by RFC2231, hasn't yet been implemented. Note that
- this covers only certain special cases not covered by the MIME
- specification. MIME specifies encoding of text in the Subject
- and address headers, and JavaMail fully supports such encoding.
- Most mailers don't support RFC2231.
- 3. We've received reports of problems using the JavaMail API in servlets
- driven by Netscape web servers. The error is that the Netscape
- servlet implementation doesn't support the
- java.awt.datatransfer.Transferable class which is used by the JAF.
- We recommend that you submit a bug report with Netscape.
- 4. We've received reports of IMAP authentication failures on the
- Microsoft Exchange Server 5.5, enterprise edition. This is due to
- a bug in the Microsoft server and the "Service Pack 1 for Exchange
- Server 5.5" apparently fixes this server bug. The service pack can
- be downloaded from the Microsoft website.
- 5. Due to a problem in the Microsoft Exchange IMAP server, insufficient
- number of bytes may be retrieved when reading big messages. There
- are two ways to workaround this Exchange bug:
- (a) The Exchange IMAP server provides a configuration option called
- "fast message retrieval" to the UI. Simply go to the site, server
- or recipient, click on the "IMAP4" tab, and one of the check boxes
- is "enable fast message retrieval". Turn it off and the octet
- counts will be exact. This is fully described at
- http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q191504
- (b) Set the "mail.imap.partialfetch" property to false. You'll have
- to set this property in the Properties object that you provide to
- your Session.
- 6. Certain IMAP servers do not implement the IMAP Partial FETCH
- functionality properly. This problem typically manifests as corrupt
- email attachments when downloading large messages from the IMAP
- server. To workaround this server bug, set the
- "mail.imap.partialfetch"
- property to false. You'll have to set this property in the Properties
- object that you provide to your Session.
- Servers tested with:
- --------------------
- The IMAP implementation works with IMAP4 and IMAP4rev1 servers.
- The current release has been tested with:
- iPlanet Messaging Server version 5.2
- Sun Internet Mail Server version 2.0
- UW IMAP4 server version 2001.315
- Cyrus IMAP4 server version 1.6.19
- Previous releases have been tested with:
- Sun Internet Mail Server version 3.2 and 4.0
- Netscape Messaging Server version 3.01 and 4.1
- Microsoft Exchange
- Microsoft MCIS Mail Server
- Lotus Notes
- Software.com IMAP server
- Qualcomm Worldmail
- The current release of the SMTP implementation has been tested with:
- Sendmail version 8.9.1
- iPlanet Messaging Server version 5.2
- Previous releases have been tested with:
- Sendmail 8.6
- Sun Internet Mail Server version 3.2 and 4.0
- Netscape Messaging Server version 3.01 and 4.1
- Microsoft Exchange
- Microsoft MCIS Mail Server
- Qualcomm Worldmail
- JavaMail API Y2K compliance
- ---------------------------
- Summary: JavaMail API is Option-3 compliant.
- Sun's JavaMail API implementation uses the java.util.Date class to store
- Date objects internally.
- Dates can be introduced into the JavaMail API in the following ways:
- 1) When reading a MIME message from a MIME input stream.
- The MimeMessage constructor parses the MIME stream. One of the RFC822
- headers is the "Date" field. As per the RFC, this date field must
- have 4-digit years. However, older or non-compliant software may
- generate 2-digit years. The JavaMail API follows the recommendations
- from the IETF-DRUMS draft (http://www.imc.org/draft-ietf-drums-msg-fmt)
- to parse such date strings:
- 00 through 49 represents 2000 through 2049;
- 50 through 99 represents 1950 through 1999
- 2) The IMAP provider deals with two kinds of dates:
- Received Date & Sent Date
- The Recieved Date is an IMAP data item (INTERNALDATE) and can
- contain only 4-digit years. The Sent Date is actually the "Date"
- RFC822 header. The IMAP provider follows the logic listed
- in the previous section to parse this header, thus it is
- compliant with the IETF-DRUMS draft.
- 3) Dates can be set externally by the client when creating a MimeMessage
- using the MimeMessage.setSentDate(java.util.Date) method. The Date
- class is defined in the java.util package; the JavaMail API has nothing
- to do with the interpretation of date strings by the Date class.
- The Y2K compliance of this class is defined by the particular JDK
- implementation. (Note that JDK1.1.6 is Option-3 compliant)
- From (1) and (2), we can conclude that Sun's implementation of
- the JavaMail API is Option-3 compliant.
- For more information on compliance levels, refer:
- http://www.sun.com/y2000
- JavaMail API 100% Pure Java Certification
- -----------------------------------------
- Sun's JavaMail API implementation is 100% pure Java. Earlier versions
- have been certified by KeyLabs. (See http://java.sun.com/100percent)
- How to give feedback
- --------------------
- Please send your feedback to this email-address:
- javamail@sun.com
- Check out our website at http://java.sun.com/products/javamail
- You can subscribe to our open discussion-list:
- javamail-interest@java.sun.com.
- Or you can subscribe to our low-volume mailing-list (where we announce
- product updates and other relevant information):
- javamail-announce@java.sun.com.
- Instructions on how to subscribe are on our website.
- ------------------------------------------------------------------