Hunny MIME++ Features

Hunny MIME++ is a C++ class library for parsing, creating, or modifying messages in MIME format. Hunny MIME++ is designed to work with Hunny Mail++, a C++ class library for sending and receiving Internet mail via SMTP, POP3, IMAP4, and NNTP.

For even more functionality, Hunny MIME++ may be used together with Hunny Mail++, a C++ class library providing SMTP, POP3, IMAP4, and NNTP clients.

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.

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

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

  • Portable - Windows, Mac OS X, Linux, Solaris, Windows CE. Portable C++ language features. Enterprise servers. Embedded systems. Small devices.

  • Reliable - Thoroughly tested by our engineers. Proven through years of mission-critical deployments by our customers.

  • 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 MIME++ 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 MIME++ 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 MIME++ 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.

Easy To Use

Hunny MIME++ provides an API (application programming interface) that is intuitive, clean, and consistent. Convenience functions 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.


Hunny MIME++ 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.


We chose to use only the most portable C++ features. As a result, the library compiles with almost any C++ compiler system.

We isolated the operating system-dependent system calls into portability functions and classes, making it easier to port the system-dependent portion of the library.

With no modifications, the source code compiles on Microsoft Windows, Mac OS X, Microsoft Windows CE, Linux, and most versions of Unix. Our developers and testers use Microsoft Windows with Visual C++, Mac OS X with GCC (Xcode), Linux with GCC, and Solaris with GCC and Sun C++. Some of our customers use the library in embedded systems and small devices, running VxWorks, Windows CE, and other operating systems.


Many 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 MIME++ 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 MIME++.

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