Requires NuGet 2.12 or higher.
Install-Package MimeKit -Version 3.0.0-preview1
dotnet add package MimeKit --version 3.0.0-preview1
<PackageReference Include="MimeKit" Version="3.0.0-preview1" />
paket add MimeKit --version 3.0.0-preview1
#r "nuget: MimeKit, 3.0.0-preview1"
// Install MimeKit as a Cake Addin #addin nuget:?package=MimeKit&version=3.0.0-preview1&prerelease // Install MimeKit as a Cake Tool #tool nuget:?package=MimeKit&version=3.0.0-preview1&prerelease
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.
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 limitations.
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
NuGet packages (116)
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 ANONYMOUS, CRAM-MD5, DIGEST-MD5, LOGIN, NTLM, OAUTHBEARER, PLAIN, SCRAM-SHA-1, SCRAM-SHA-256, SCRAM-SHA-512 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.
FMPC is a service with utilities such as standard messages, document validators and CDN for images and PDF.
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
GitHub repositories (25)
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 framework.
Clean Architecture Template for Blazor WebAssembly Built with MudBlazor Components.
smtp4dev - the fake smtp email server for development and testing
A .NET MIME creation and parser library with support for S/MIME, PGP, DKIM, TNEF and Unix mbox spools.
* Removed APIs marked as \[Obsolete\] in 2.x.
* Refactored X509CertificateDatabase protected methods to include a DbConnection parameter.
* Removed OpenPgpContextBase by folding the logic into OpenPgpContext.
* Added Async APIs for OpenPGP and S/MIME.
* Lazy-load headers on MimeMessage and MimeEntity (and subclasses) to improve performance.
* Added a new MimeReader class that acts as a lower-level MimeParser alternative, allowing developers to parse MIME content without having to instantiate a MIME tree of objects or wait until the parser has completed (and returned a MimeMessage or MimeEntity object) before processing MIME data. This is conceptually similar to a SAX XML parser approach.
* Added a new ExperimentalMimeParser that duplicates MimeParser functionality, but is built on top of MimeReader. This implementation will eventually replace MimeParser once I get some feedback on it. Should be ~5% faster than MimeParser.
* Improved MimeParser performance slightly based on some of the experimentation done to make the ExperimentalMimeParser fast.
* Added CancellationToken arguments for some AttachmentCollection.Add() overloads.