NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
NuGet · #183 most downloaded on NuGet
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
Last release today
19 Sep 2026
Ships fairly regularly
a new release about every 2 months
Nearly every release is documented
notes for 57 of the last 60 stable releases
115 versions withdrawn
withdrawn after publishing
127 years old
198 releases · first in 1900
Fixed an NRE in X509CertificateDatabase.Dispose().
Fixed WindowsSecureMimeDigitalCertificate logic for ECDsa.
One column per quarter.
Mapped the TNEF Sensitivity property to the Sensitivity message header when calling TnefPart.ConvertToMessage().
Optimized SecureMimeCryptographyContext.Supports() and OpenPgpCryptographyContext.Supports() implementations.
Fixed a bug in MimeIterator.MoveTo().
Added more bounds checking for parsing mailbox addresses to fix IndexOutOfRangeExceptions given an incomplete address like "Name <". (issue #421)
Make sure messages created from System.Net.Mail.MailMessages have a Date header. (MailKit issue #710)
The default value of the CheckCertificateRevocation property located on the BouncyCastleSecureMimeContext has been changed to false due to privacy con
CheckCertificateRevocation property located on the BouncyCastleSecureMimeContext has been changed
to false due to privacy concerns noted in the Efail document published in May of 2018. Clients that wish
to continue automatic downloads of S/MIME CRLs can manually set the property to true.Allow empty TextBody and HtmlBody properties for BodyBuilder. (issue #391)
IDN encode/decode the local part of mailbox addresses as well. (MailKit issue #649)
Improved the HTML parser logic to better handle a number of edge cases.
Added IDkimPublicKeyLocator.LookupPublicKeyAsync() and MimeMessage.VerifyAsync() to support asynchronous DNS lookups of DKIM public keys.
Fixed a buffering bug in MimeParser's header parser. (issue #358)
Added async support for writing MimeMessage, MimeEntity, HeaderList and ContentObject.
Added CanSign() and CanEncrypt() methods to CryptographyContext for checking whether or not a mailbox can be used for signing or be encrypted to. (iss
Allow importing of known PGP keys (needed when re-importing keys after signing them). (issue #315)
Fixed a bug in the MailMessage to MimeMessage conversion which corrupted the Subject string. (issue #306)
Fixed TextToHtml and FlowedToHtml's OutputHtmlFragment property to work.
Added new ParserOptions option to allow local-only mailbox addresses (e.g. no @domain).
Nothing published for this version
Added International Domain Name support for email addresses.
Added new DKIM MimeMessage.Sign() methods that take an IList<string> of header field names to sign.
null but
databases such as Postgres do not). (issue #286)Fixed the Content-Type and Content-Disposition parameter parser to remove trailing lwsp from unquoted parameter values. (issue #278)
Fixed OpenPgpContext.Verify() to throw FormatException if no data packets found.
Improved parsing of malformed mailbox addresses.
Use RandomNumberGenerator.Create() for .NET Core instead of System.Random when generating multipart boundaries.
Strong-name the .NET Core assemblies.
Fixed QuotedPrintableDecoder to handle soft breaks that fall on a buffer boundary.
Added support for .NET Core 1.0
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Fixed parsing bugs in MessageDeliveryStatus.StatusGroups. (issue #253)
Modified MimeMessage .ctor to not add an empty To: header by default. (issue #241)
Modified ParamaterList.TryParse() to handle quoted rfc2231-encoded param values. (issue #239)
Added a new SecureMimeContext.Verify() overload that returns the extracted content stream.
Added a MultipartReport class for multipart/report.
Fixed serialization of mime parts with empty content. (issue #221)
Handle illegal Content-Id headers that do not enclose their values in <>'s. (issue #215)
Removed unimplemented TNEF APIs.
Fixed DkimRelaxedBodyFilter to properly handle CRLF split across buffers.
Fixed relaxed body canonicalization logic for DKIM signatures. (issue #190)
Fixed the Date parser to catch exceptions thrown by the DateTimeOffset .ctor if any of the fields are out of range.
Fixed DKIM-Signature signing logic to use a UTC-based timestamp value rather than a timestamp based on the local-time. (issue #180)
Modified Base64Encoder's .ctor to allow specifying a maxLineLength.
Prevent infinite loop when flushing CharsetFilter when there is no input data left.
Fixed an IndexOutOfRangeException bug in the TextToHTML converter logic. (issue #165)
Added public Stream property to IContentObject.
Fixed WriteTo(string fileName) methods to overwrite the existing file. (issue #154)
Added a new MessageDeliveryStatus MimePart subclass to make message/delivery-status MIME parts easier to deal with.
Fixed encoding GroupAddress with multiple mailbox addresses.
Fixed a bug in the HTML tokenizer to handle some weird HTML created by Outlook 15.0.
Changed BodyParts and Attachments to be IEnumerable<MimeEntity> - WARNING! This is an API change! (issue #148)
Added support for generating and verifying DKIM-Signature headers.
Fixed TextToFlowed logic that stripped trailing spaces.
Your coding agent can read these notes before it upgrades. Set up the MCP server →