MimeKit 1.22.0

MimeKit is an Open Source library for creating and parsing MIME, S/MIME and PGP messages on desktop and mobile platforms. It also supports parsing of Unix mbox files.

     Unlike any other .NET MIME parser, MimeKit's parser does not need to parse string input nor does it use a TextReader. Instead, it parses raw byte streams, thus allowing it to better support undeclared 8bit text in headers as well as message bodies. It also means that MimeKit's parser is significantly faster than other .NET MIME parsers (more than 25x faster than OpenPOP.NET and over 100x faster than AE.Net.Mail and MailSystem.NET).

     MimeKit's parser also uses a real tokenizer when parsing the headers rather than regex or string.Split() like most other .NET MIME parsers. This means that MimeKit is much more RFC-compliant than any other .NET MIME parser out there, including the commercial implementations.

     In addition to having a far superior parser implementation, MimeKit's object tree is not a derivative of System.Net.Mail objects and thus does not suffer from System.Net.Mail's massive limitations or bugs.

     API documentation can be found on the web at http://www.mimekit.net/docs

     For those that need SMTP, POP3 or IMAP support, check out https://github.com/jstedfast/MailKit

Requires NuGet 2.12 or higher.

Install-Package MimeKit -Version 1.22.0
dotnet add package MimeKit --version 1.22.0
paket add MimeKit --version 1.22.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Release Notes

* Fixed a buffering bug in MimeParser's header parser. (issue #358)
* Set the TnefReader charset on extracted text/plain and text/html bodies. (issue #357)
* Added safeguard to protect against malformed nested group addresses which could cause a stack overflow in the parser. ParserOptions now has a way of limiting the recursive depth of rfc822 group addresses using the MaxAddressGroupDepth property. (issue #355)
* Fixed the S/MIME certificate database for .NETStandard by using GetFieldValue() instead of GetBytes() which is not supported on .NETStandard. (issue #351)

Version History

Version Downloads Last updated
1.22.0 (current version) 15,525 11/24/2017
1.20.0 28,513 10/28/2017
1.18.1 92,420 9/3/2017
1.18.0 47,355 8/7/2017
1.16.2 87,028 7/1/2017
1.16.1 144,789 5/5/2017
1.16.0 36,155 4/21/2017
1.14.1 19,335 4/9/2017
1.14.0 33,646 4/9/2017
1.12.0 69,157 3/12/2017
1.10.1 71,584 1/28/2017
1.10.0 392,093 10/31/2016