blob: 1508c00373a35b85016e449faeafe2fc4638162d [file] [log] [blame]
Name: Apache James Mime4J
Short Name: apache-mime4j
Version: 0.7.2
License: Apache 2.0
License File: binary-distribution/LICENSE
Security Critical: no
Apache James Mime4J is developed by the Apache James team but now has a
dedicated mailing list.
Apache James Mime4J provides a parser, MimeStreamParser , for e-mail message
streams in plain rfc822 and MIME format. The parser uses a callback mechanism
to report parsing events such as the start of an entity header, the start of a
body, etc. If you are familiar with the SAX XML parser interface you should
have no problem getting started with mime4j.
The parser only deals with the structure of the message stream. It won't do any
decoding of base64 or quoted-printable encoded header fields and bodies. This
is intentional - the parser should only provide the most basic functionality
needed to build more complex parsers. However, mime4j does include facilities
to decode bodies and fields and the Message class described below handles
decoding of fields and bodies transparently.
The parser has been designed to be extremely tolerant against messages
violating the standards. It has been tested using a large corpus (>5000) of
e-mail messages. As a benchmark the widely used perl MIME::Tools parser has
been used. mime4j and MIME:Tools rarely differ (<25 in those 5000). When they
do (which only occurs for illegally formatted spam messages) we think mime4j
does a better job.
mime4j can also be used to build a tree representation of an e-mail message
using the Message class. Using this facility mime4j automatically handles the
decoding of fields and bodies and uses temporary files for large attachments.
This representation is similar to the representation constructed by the
JavaMail API:s but is more tolerant to messages violating the standards.
Local Modifications:
Update instructions:
1. Find the new version you want on the project website. Use as $VERSION below:
$ VERSION={version from website}
2. Download the binary distribution tarball: Binary (Unix TAR).
3. Verify MD5 sum of package with online version:
$ md5sum apache-mime4j-$VERSION-bin.tar.gz
4. Remove the binary-distribution subdirectory:
$ rm -rf binary-distribution/
5. Extract the contents of the tarball into binary-distribution subdirectory:
$ tar xvfz apache-mime4j-$VERSION-bin.tar.gz
$ mv apache-mime4j-$VERSION binary-distribution
6. Update apache-mime4j.gyp:apache_mime4j_javalib with path to new Java jar, eg:
'input_jar_file': 'binary-distribution/lib/apache-mime4j-core-$VERSION.jar'