Hunny JMIME Features

Hunny JMIME is a Java class library for parsing, creating, or modifying messages in MIME format.

Features Summary

  • Complete MIME Implementation - All content types. Complex MIME multipart messages. HTML email. Base64, quoted-printable, MacMIME, uuencode, BinHex 4.0 encodings. Full internationalization.

  • Standards Compliant - Conforms to RFCs. Tested for interoperability.

  • Portable - Hunny JMIME is 100% pure Java.

  • Easy To Use - Intuitive API. Convenience functions. High-level abstractions.

  • Versatile - Allows parsing, creating, or modifying MIME messages at the lowest level possible.

  • Reliable - Thoroughly tested by our engineers.

  • Thoroughly Documented - Tutorial. How-To Guide. Complete reference manual.

  • Includes Helpful Examples - MIME email. HTML email. File attachments. And more.

  • Source Code Available - Well-documented and readable source code available.

  • Support Contracts Available - Reasonable rates by email experts.

Complete MIME Implementation

Hunny JMIME is a complete MIME implementation. The supported MIME features are listed here:

  • All standard content types - Provides support for all standard content types, including text, multipart, message, image, audio, video, application, and model.

  • Binary content - Fully supports unencoded binary content (the BINARY transfer encoding).

  • Complex multipart content - Easily handles complex nested multipart documents and encapsulated messages. Provides support for multipart/related content, such as MHTML (HTML email).

  • Popular content transfer encodings - Supports all the standard encodings, such as 7-bit, 8-bit, base64, quoted-printable, and binary, plus popular non-standard encodings, such as uuencode/uudecode, MacMIME (applesingle, appledouble), and BinHex 4.0. Supports non-ASCII text in message headers via base64 and modified quoted-printable encoding.

  • Internationalization - Supports non-ASCII character encodings in the message body and headers (RFC 2047).

Standards Compliant

Our developers follow Internet standards closely, and we make standards compliance a top priority. Hunny JMIME offers 100% compliance with the following standards:

  • RFC 1036 Standard for Interchange of USENET Messages

  • RFC 1740 MIME Encapsulation of Macintosh files - MacMIME

  • RFC 1847 Security Multiparts for MIME: Multipart/Signed and Multipart/Encrypted

  • RFC 1864 The Content-MD5 Header Field

  • RFC 2045 Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies

  • RFC 2046 Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types

  • RFC 2047 MIME (Multipurpose Internet Mail Extensions) Part Three: Message Header Extensions for Non-ASCII Text

  • RFC 2077 The Model Primary Content Type for Multipurpose Internet Mail Extensions

  • RFC 2183 Communicating Presentation Information in Internet Messages: The Content-Disposition Header Field

  • RFC 2387 The MIME Multipart/Related Content-type

  • RFC 2557 MIME Encapsulation of Aggregate Documents, such as HTML (MHTML)

  • RFC 2821 Simple Mail Transfer Protocol

  • RFC 2822 Internet Message Format

We also pay close attention to interoperability. The Hunny JMIME library, as well as the many example programs provided, is tested for interoperability with the most common MIME implementations, such as Outlook, Outlook Express, Eudora, Pine, Netscape, and others.

Portable

Hunny JMIME is 100% pure Java, providing the "write once, run anywhere" advantage of Java. The minimal version required is Java 1.1. Hunny JMIME is suitable for use in a wide variety of platforms, from large, data center servers, to small personal devices.

Easy To Use

Hunny JMIME provides an API (application programming interface) that is intuitive, clean, and consistent. Convenience methods make common programming tasks possible with very little code. Included code examples allow developers to accomplish the most common high-level programming tasks quickly, often in just an hour or two.

Versatile

Hunny JMIME implements a mature, proven document object model, which allows the segments of a MIME message to be accessed as objects. There is no abstraction layer that places limits on developers. Developers can accomplish even the most difficult MIME message processing requirements.

Reliable

Some of our customers run mission-critical messaging servers 24 hours per day, 7 days per week. Therefore, we take reliability very seriously. We follow established software development practices for bug-free software development: from version control to software testing to good coding practices. We respond to bug reports normally within 24 hours.

Thoroughly Documented

Good documentation is an important requirement for software re-use. The Hunny JMIME library includes excellent documentation: an easy-to-follow Tutorial, a time-saving How-To Guide, well-commented examples, and an informative reference manual. The documentation is available in various formats, suitable for both printing and viewing in a browser. The reference manual is even available online at our web site.

Includes Helpful Examples

Most developers prefer to look at example code to get started quickly. Experienced developers can often achieve their programming goal in one or two days by starting with a relevant code example. Recognizing the importance of good code examples, we include numerous, helpful code examples in Hunny JMIME.

Some of the included examples show how to:

  • Create a message with text in any language and character encoding, including Unicode
  • Create a message containing one or more attachments
  • Create a message containing HTML text and embedded images
  • Get the header information and text from a message, including text in any language and character encoding
  • Extract all the attachments in a message and save them to files
  • Get the content of any body part in a multipart message
  • Get the uuencode-encoded attachments from a message

Source Code Available

Good documentation is important, but readable source code can provide a far more detailed understanding of a software product. With source code available, developers can truly understand how the library works, and thereby make better design decisions. For example, there may be more than one way to accomplish a certain program requirement. When the source code is available, developers can choose the alternative that provides the most efficient operation.

With source code, developers may also customize or adapt the library in ways that are not otherwise possible.

Support Contracts Available

We stand behind our products, offering to customers options for support contracts. Contact our sales team for more information.

Download | Buy | Check Prices