MailKit 2.3.0

Prefix Reserved
There is a newer version of this package available.
See the version list below for details.

Requires NuGet 2.12 or higher.

dotnet add package MailKit --version 2.3.0                
NuGet\Install-Package MailKit -Version 2.3.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="MailKit" Version="2.3.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add MailKit --version 2.3.0                
#r "nuget: MailKit, 2.3.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install MailKit as a Cake Addin
#addin nuget:?package=MailKit&version=2.3.0

// Install MailKit as a Cake Tool
#tool nuget:?package=MailKit&version=2.3.0                

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, 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, 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.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp1.0 was computed.  netcoreapp1.1 was computed.  netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard1.3 is compatible.  netstandard1.4 was computed.  netstandard1.5 was computed.  netstandard1.6 is compatible.  netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net45 is compatible.  net451 was computed.  net452 was computed.  net46 was computed.  net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid is compatible. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen30 was computed.  tizen40 was computed.  tizen60 was computed. 
Universal Windows Platform uap was computed.  uap10.0 was computed. 
Xamarin.iOS xamarinios is compatible. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (949)

Showing the top 5 NuGet packages that depend on MailKit:

Package Downloads
Umbraco.Cms.Infrastructure

Contains the infrastructure assembly needed to run Umbraco CMS.

NETCore.MailKit

MailKit extension for asp.net core. Easy send email in asp.net core project.

Serilog.Sinks.Email

Send Serilog events as SMTP email using MailKit.

Abp.MailKit

Abp.MailKit

NET6CustomLibrary

open source custom dotnet extension library

GitHub repositories (124)

Showing the top 5 popular GitHub repositories that depend on MailKit:

Repository Stars
ardalis/CleanArchitecture
Clean Architecture Solution Template: A starting point for Clean Architecture with ASP.NET Core
bitwarden/server
Bitwarden infrastructure/backend (API, database, Docker, etc).
abpframework/abp
Open-source web application framework for ASP.NET Core! Offers an opinionated architecture to build enterprise software solutions with best practices on top of the .NET. Provides the fundamental infrastructure, cross-cutting-concern implementations, startup templates, application modules, UI themes, tooling and documentation.
aspnetboilerplate/aspnetboilerplate
ASP.NET Boilerplate - Web Application Framework
duplicati/duplicati
Store securely encrypted backups in the cloud!
Version Downloads Last updated
4.8.0 70,348 9/29/2024
4.7.1.1 1,643,287 7/15/2024
4.7.1 131,161 7/12/2024
4.7.0 367,738 6/29/2024
4.6.0 1,364,094 5/17/2024
4.5.0 1,048,049 4/13/2024
4.4.0 1,702,311 3/2/2024
4.3.0 5,114,943 11/11/2023
4.2.0 2,556,775 9/2/2023
4.1.0 3,507,614 6/17/2023
4.0.0 2,416,144 4/15/2023
3.6.0 2,427,040 3/4/2023
3.5.0 2,181,927 1/28/2023
3.4.3 3,225,459 11/25/2022
3.4.2 2,184,111 10/24/2022
3.4.1 1,972,384 9/12/2022
3.4.0 299,583 9/5/2022
3.3.0 5,062,298 6/12/2022
3.2.0 9,173,963 3/26/2022
3.1.1 3,548,626 1/30/2022
3.1.0 788,855 1/15/2022
3.0.0 2,545,234 12/11/2021
2.15.0 11,116,435 8/19/2021
2.14.0 788,954 7/28/2021
2.13.0 2,709,004 6/12/2021
2.12.0 1,325,665 5/12/2021
2.11.1 2,331,755 3/16/2021
2.11.0 153,162 3/12/2021
2.10.1 4,550,529 1/2/2021
2.10.0 3,098,130 11/21/2020
2.9.0 3,203,694 9/12/2020
2.8.0 3,312,320 7/11/2020
2.7.0 2,843,298 5/30/2020
2.6.0 7,495,986 4/4/2020
2.5.2 1,248,765 3/14/2020
2.5.1 1,282,938 2/15/2020
2.5.0 1,123,841 1/18/2020
2.4.1 2,224,622 11/10/2019
2.4.0.1 116,132 11/5/2019
2.4.0 24,801 11/3/2019
2.3.2 506,441 10/12/2019
2.3.1.6 1,154,917 9/9/2019
2.3.1 96,043 9/8/2019
2.3.0 701,385 8/24/2019
2.2.0 2,316,452 6/11/2019
2.1.5.1 913,474 5/13/2019
2.1.4 632,873 4/13/2019
2.1.3 1,227,127 2/24/2019
2.1.2 1,348,316 12/30/2018
2.1.1 199,607 12/17/2018
2.1.0.3 205,212 12/7/2018
2.0.7 910,542 10/28/2018
2.0.6 2,962,805 8/4/2018
2.0.5 488,520 7/7/2018
2.0.4 657,338 5/25/2018
2.0.3 646,854 4/15/2018
2.0.2 228,785 3/18/2018
2.0.1 1,678,512 1/6/2018
2.0.0 181,767 12/22/2017
1.22.0 669,555 11/24/2017
1.20.0 573,000 10/28/2017
1.18.1.1 710,414 9/4/2017
1.18.1 20,982 9/3/2017
1.18.0 216,763 8/7/2017
1.16.2 514,466 7/1/2017
1.16.1 673,744 5/5/2017
1.16.0 90,663 4/21/2017
1.14.2 46,208 4/12/2017
1.12.0 215,153 3/12/2017
1.10.2 222,104 1/28/2017
1.10.1 188,106 12/4/2016
1.10.0 476,332 10/31/2016

* Improved the default SSL/TLS certificate validation logic.
* Improved exception messages for the POP3 LIST and STAT commands.
* Modified Pop3Client to accept negative values for the 'octets' value in the STAT response. (issue #872)
* Added work-around for IMAP BODYSTRUCTURE responses that treat multiparts as basic parts. (issue #878)
* Added check to make sure that MD5 is supported by the runtime and automatically disable support for CRAM-MD5 and DIGEST-MD5 SASL mechanisms when MD5 is not supported.
* Added a Stream property to ProtocolLogger.
* Fixed fetching of PreviewText items if the body's ContentTransferEncoding is NIL. (issue #881)
* Improved processing of pipelined SMTP commands to provide better exception messages. (issue #883)
* Modified SmtpClient.Send() and SendAsync() methods to not call MimeMessage.Prepare() if any DKIM or ARC headers are present in order to avoid the potential risk of altering the message and breaking the signatures within those headers.
* Added protected SmtpClient.SendCommand() and SendCommandAsync() methods to allow custom subclasses the ability to send custom commands to the SMTP server. (issue #891)
* Allow SmtpClient subclasses to override message preparation by overriding a new SmtpClient.Prepare() method. (issue #891)
* Improved ImapFolder's ModSeqChanged event to set the UniqueId property if available in unsolicited FETCH notifications including a MODSEQ and UID value.
* Fixed the IMAP client logic to properly handle lower or mixed case IMAP tokens. (issue #893)
* Added support for IMAP's ANNOTATE-EXPERIMENT-1 extension. (issue #818)
* Always use the SMTP BDAT command instead of DATA if CHUNKING is supported. (issue #896)
* Improved SmtpClient to include a SIZE= parameter in the MAIL FROM command if the SIZE extension is supported. Progress reporting will now always have the expected message size available as well.

API Changes Since 2.0.x:

* Obsoleted SearchQuery.HasCustomFlags() and SearchQuery.DoesNotHaveCustomFlags(). These are now SearchQuery.HasKeywords() and SearchQuery.NotKeywords(), respectively.
* Obsoleted SearchQuery.DoesNotHaveFlags() in favor of SearchQuery.NotFlags().
* Obsoleted the IMessageSummary.UserFlags property in favor of IMessageSummary.Keywords.
* Obsoleted the MessageFlagsChangedEventArgs.UserFlags property in favor of MessageFlagsChangedEventArgs.Keywords.
* All IMailFolder.Fetch and IMailFolder.FetchAsync methods that took a HashSet<string> userFlags argument now take an IEnumerable<string> keywords argument. Note: this only affects you if your code used named method parameters (e.g. userFlags: myUserFlags).

Note to users upgrading from MailKit 1.x:

In order to authenticate using the XOAUTH2 SASL mechanism, you must now use the following approach:

client.Authenticate (new SaslMechanismOAuth2 (username, auth_token));