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
See the version list below for details.
Requires NuGet 2.12 or higher.
Install-Package MimeKit -Version 2.3.0
dotnet add package MimeKit --version 2.3.0
<PackageReference Include="MimeKit" Version="2.3.0" />
paket add MimeKit --version 2.3.0
* Fixed MultipartRelated to fall back to the multipart/related type parameter when locating the Root. (issue #489)
* Improved Authentication-Results parser to handle non-standard syntax. (issue #490)
* When FormatOptions.AllowMixedHeaderCharsets is disabled, always use the user-specified charset. Previously this could/would still use us-ascii and/or iso-8859-1 if the entire header could fit within one of those charsets. (issue #493)
* Fixed the line length calculations in the BestEncodingFilter. (issue #497)
* Fixed Multipart to properly ensure the epilogue ends w/ a new-line when FormatOptions.EnsureNewLine is true. (issue #499)
* Modified Multipart.WriteTo[Async] to not ensure that a Content-Type boundary parameter has been set. This code-path was only hit if the multipart was parsed by the parser and did not have a boundary parameter in the first place. In the interest of preserving byte-for-byte compatibility with the original input, this sanity check has been removed. (issue #499)
- BouncyCastle (>= 1.8.5)
- No dependencies.
Portable Class Library (.NETFramework 4.5, Windows 8.0)
- Portable.BouncyCastle (>= 1.8.5)
Portable Class Library (.NETFramework 4.5, Windows 8.0, WindowsPhoneApp 8.1)
- Portable.BouncyCastle (>= 1.8.5)
- No dependencies.
NuGet packages (68)
Showing the top 5 NuGet packages that depend on MimeKit:
MailKit is an Open Source cross-platform .NET mail-client library that is based on MimeKit and optimized for mobile devices. Features include: * HTTP, Socks4, Socks4a and Socks5 proxy support. * SASL Authentication via SCRAM-SHA-256, SCRAM-SHA-1, NTLM, DIGEST-MD5, CRAM-MD5, LOGIN, PLAIN, and XOAUTH2. * A fully-cancellable SmtpClient with support for STARTTLS, 8BITMIME, BINARYMIME, ENHANCEDSTATUSCODES, SIZE, DSN, PIPELINING and SMTPUTF8. * A fully-cancellable Pop3Client with support for STLS, UIDL, APOP, PIPELINING, UTF8, and LANG. * A fully-cancellable ImapClient with support for ACL, QUOTA, LITERAL+, IDLE, NAMESPACE, ID, CHILDREN, LOGINDISABLED, STARTTLS, MULTIAPPEND, UNSELECT, UIDPLUS, CONDSTORE, ESEARCH, SASL-IR, COMPRESS, WITHIN, ENABLE, QRESYNC, SORT, THREAD, ANNOTATE, LIST-EXTENDED, ESORT, METADATA / METADATA-SERVER, NOTIFY, FILTERS, LIST-STATUS, SORT=DISPLAY, SPECIAL-USE / CREATE-SPECIAL-USE, SEARCH=FUZZY, MOVE, UTF8=ACCEPT / UTF8=ONLY, LITERAL-, APPENDLIMIT, STATUS=SIZE, OBJECTID, REPLACE, SAVEDATE, XLIST, and X-GM-EXT1. * Client-side sorting and threading of messages (the Ordinal Subject and the Jamie Zawinski threading algorithms are supported). * Asynchronous versions of all methods that hit the network. * S/MIME, OpenPGP, DKIM and ARC support via MimeKit. * Microsoft TNEF support via MimeKit.
netDumbster is a .Net Fake SMTP Server clone of the popular Dumbster (http://quintanasoft.com/dumbster/) netDumbster is based on the API of nDumbster (http://ndumbster.sourceforge.net/default.html) and the nice C# Email Server (CSES) written by Eric Daugherty.
MsgKit is a 100% managed C# .NET library (no PINVOKE or whatsoever) which may be used for the creation of messages (E-Mail, Appointments, Journals and Stickey Notes) that are Outlook compatible
SuperOffice NetServer Core is SuperOffice's data access technology for new applications. This is for onsite installations with the same version. This also works with SuperOffice Online.
GitHub repositories (19)
Showing the top 5 popular GitHub repositories that depend on MimeKit:
Store securely encrypted backups in the cloud!
Orchard Core is an open-source modular and multi-tenant application framework built with ASP.NET Core, and a content management system (CMS) built on top of that application framework.
An easy and fast way to build automation and workflows on Windows, Linux, macOS, and the cloud.
A .NET MIME creation and parser library with support for S/MIME, PGP, DKIM, TNEF and Unix mbox spools.
smtp4dev - the fake smtp email server for development and testing