NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
NuGet · #225 most downloaded on NuGet
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.
Last release 6 days ago
13 Sep 2026
Ships fairly regularly
a new release about every 6 weeks
Nearly every release is documented
notes for 56 of the last 60 stable releases
106 versions withdrawn
withdrawn after publishing
127 years old
191 releases · first in 1900
Added support for extended IMAP search options (see the SearchOptions flags).
Updated SmtpClient to use MimeMessage.Prepare() instead of implementing its own logic.
One column per quarter.
Fixed ImapFolder.AddFlags() to throw FolderNotOpenException if the folder is not opened in read-write mode. (issue #202)
Added ImapClient.GetFolders(FolderNamespace, ...) to allow getting the full (recursive) list of folders for a particular namespace.
Added hooks to allow subclassing ImapFolder.
Added new ImapFolder.GetStream() overloads that allow fetching only the TEXT stream.
Fixed a STARTTLS regression in SmtpClient that was introduced in 1.0.15. (issue #187)
Modified the Pop3Client to immediately query for the message count once the client is authenticated. This allows the Pop3Client to now have a Count pr
Added SearchQuery.HeaderContains() and obsoleted SearchQuery.Header() for API consistency.
Added a ServerCertificateValidationCallback property to all clients so that it is not necessary to set the global System.Net.ServicePointManager.Serve
Added a FileName convenience property to BodyPartBasic which works the same way as the MimeKit.MimePart.FileName property.
Fixed ImapFolder.GetMessage(), GetBodyPart() and GetStream() to throw an ImapCommandException rather than returning null if the server did not respons
Make sure that the IMAP stream supports timeouts before using them (fixes a regression introduced in 1.0.10).
Added support for the IMAP ID extension.
Modified UniqueId to contain a Validity value. This allows ImapFolder.Append(), CopyTo(), and MoveTo() to provide the caller with a way to make sure t
Fixed the SMTP BINARYMIME extension support to work properly. (issue #151)
Marked Pop3Client methods that take UIDs as [Obsolete]. It is suggested that the equivalent methods that take indexes be used instead and that UID-to-
Fixed some issues revealed by source analysis.
Note: If you are not yet ready to port your iOS application to the Unified API, you will need to stick with the 1.0.5 release. The Classic MonoTouch API is no longer supported.
Added Connect() overloads which takes a Socket argument (issue #128).
Modified the IMAP BODYSTRUCTURE parser to allow NIL tokens for Content-Type and Content-Disposition parameter values. (issue #124)
Added a new ImapFolder.Fetch() overload that takes a HashSet<string> of header fields to fetch instead of a HashSet<HeaderId> for developers that need
Modified ProtocolLogger to flush the stream at the end of each Log().
Fixed Pop3Client.GetMessages (int startIndex, int count, ...) to use 1-based sequence numbers.
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
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
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
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
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
Your coding agent can read these notes before it upgrades. Set up the MCP server →