| --- |
| layout: post |
| title: "Apache James Mime4J 0.7" |
| date: 2011-04-06 16:13:22 +0200 |
| categories: james update |
| --- |
| |
| |
| The Apache James Project is happy to announce |
| the release of version 0.7 of the Apache James Mime4J. |
| |
| Mime4J is a flexible MIME parsing library written in Java. SAX, DOM and pull parsing styles are |
| supported. |
| |
| The 0.7 release brings another round of API enhancements, bug fixes and performance optimizations. |
| A major effort has been put in code reorganization, separating parsing code from DOM manipulation |
| code. Mime4J has been restructured into three separate modules: 'core', 'dom' and 'storage'. |
| The 'core' package provides an event-driven SAX style parser that relies on a callback mechanism |
| to report parsing events such as the start of an entity header the start of a body, etc. |
| The 'dom' package contains base/abstract classes and interfaces for MIME-DOM manipulation aiming |
| to provide the base for a full featured traversable DOM. Per default the Mime4J DOM builder stores |
| content of individual body parts in memory. The 'storage' package provides support for more |
| complex storage backends such on-disk storage systems, overflow on max limit, or encrypted storage |
| through JSSE API. |
| |
| Mime4J 0.7 improves support for headless messages, malformed separation between headers and body |
| and adds support for "obsolete" rfc822 syntax (e.g: "Header<somespace>: " style). Parsing |
| performance for quoted printable streams have been considerably improved. A "DecodeMonitor" object |
| has been introduced in most code to define how to deal with malformed input (Lenient vs Strict |
| behaviours). Mime4J 0.7 also provides LenientFieldParser as an alternative to DefaultFieldParser |
| when a higher degree of tolerance to non-severe MIME field format violations is desired. |
| |
| [Read the release notes][notes] |
| |
| [notes]: https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310521&version=12313592 |
| |