MailMergeLib 5.12.0

dotnet add package MailMergeLib --version 5.12.0
NuGet\Install-Package MailMergeLib -Version 5.12.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="MailMergeLib" Version="5.12.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add MailMergeLib --version 5.12.0
#r "nuget: MailMergeLib, 5.12.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 MailMergeLib as a Cake Addin
#addin nuget:?package=MailMergeLib&version=5.12.0

// Install MailMergeLib as a Cake Tool
#tool nuget:?package=MailMergeLib&version=5.12.0


What is MailMergeLib?

MailMergeLib version 5 is an SMTP mail client library which provides comfortable mail merge capabilities. MailMergeLib is written in C# and comes with the following features:

Mail message generation

  • Email templates can be fully individualized in terms of recipients, subject, HTML and/or plain text, attachments and even headers. Placeholders are inserted as variable names from data source between curly braces like so: {MailboxAddress.Name} or with formatting arguments like {Date:yyyy-MM-dd}.
  • HTML text may contain images from local hard disk, which will be automatically inserted as inline attachments.
  • For HTML text MailMergeLib can generate a plain text representation.
  • Attachment sources can be files, streams or strings.
  • The data source for email merge messages to a number of recipients and be any IEnumerable object as well as DataTables. The data source for single emails can be any of the following types: Dictionary<string,object>, ExpandoObject, DataRow, any class instance or anonymous types. For class instances it's even allowed to use the name of parameter less methods in placeholders.
  • Placeholders in the email can be formatted much like the features known from string.Format by using SmartFormat.NET. SmartFormat is a fast and lean string parser and formatter, bringing a lot of additional options like conditional output depending on input data.
  • Resulting emails are MimeMessages from MimeKit, an outstanding tool for creating and parsing emails, covering all relevant MIME standards.
  • Support for international email address format.

Sending email messages

  • Practically unlimited number of parallel tasks to send out individualized emails to a big number of recipients.
  • SmptClients for each task can get their own preconfigured settings, so that e.g. several mail servers can be used for one send job.
  • Progress of processing emails can easily be observed with a number of events.
  • SMTP failures can automatically be resolved supplying a backup configuration. This fault-tolerance is essential for unattended production systems.
  • Emails are sent using the SmtpClient from MailKit, the sister project to MimeKit. SmtpClient is highly flexible and can be configured for literally every scenario you can think of.
  • Instead of sending, emails can also be stored in MIME formatted text files, e.g. if a "pickup directory" from IIS or Microsoft Exchange shall be used. If needed, these files can be loaded back into a MimeMessage from MimeKit.

Save and restore

  • Messages and templates can be saved and loaded to/from XML files.
  • Configuration settings for messages and SMTP can be stored to and loaded from an XML file.


  • Fine grained control over the whole process of email message generation and distribution.
  • RFC standards compliant.
  • We aks you not to use MailMergeLib for sending unsolicited bulk email.

Supported Frameworks

  • .Net Framework 4.6.2 and later
  • .Net Standard 2.1
  • NET 6.0 and later


Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 is compatible.  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 netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.1 is compatible. 
.NET Framework net462 is compatible.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
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

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
5.12.0 74 6/6/2024
5.11.1 1,126 7/4/2023
5.11.0 196 6/29/2023
5.10.0 137 6/22/2023
5.9.1 946 1/14/2023
5.8.2 10,319 6/3/2022
5.8.1 442 6/3/2022
5.8.0 985 2/4/2022
5.7.1 31,157 1/5/2021 19,746 11/15/2019
5.6.1 2,159 12/29/2018
5.6.0 1,224 12/28/2018
5.5.0 12,754 6/15/2018
5.4.1 1,662 3/10/2018
5.4.0 1,143 2/17/2018
5.3.0 3,358 8/18/2017 6,894 4/5/2017
5.2.0 1,372 11/12/2016 1,961 10/9/2016

See the release notes for all versions with links to the Wiki for details of this release: