MimeKit is an Open Source library for creating and parsing MIME messages.
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.
DependenciesThis package has 7 dependencies.
dotnet add package MimeKitLite
paket add MimeKitLite