SplatDev.Umbraco.Plugins.Mailer
2.1.5
See the version list below for details.
dotnet add package SplatDev.Umbraco.Plugins.Mailer --version 2.1.5
NuGet\Install-Package SplatDev.Umbraco.Plugins.Mailer -Version 2.1.5
<PackageReference Include="SplatDev.Umbraco.Plugins.Mailer" Version="2.1.5" />
<PackageVersion Include="SplatDev.Umbraco.Plugins.Mailer" Version="2.1.5" />
<PackageReference Include="SplatDev.Umbraco.Plugins.Mailer" />
paket add SplatDev.Umbraco.Plugins.Mailer --version 2.1.5
#r "nuget: SplatDev.Umbraco.Plugins.Mailer, 2.1.5"
#:package SplatDev.Umbraco.Plugins.Mailer@2.1.5
#addin nuget:?package=SplatDev.Umbraco.Plugins.Mailer&version=2.1.5
#tool nuget:?package=SplatDev.Umbraco.Plugins.Mailer&version=2.1.5
Mailer
Umbraco email integration plugin — send templated HTML emails from Umbraco using SMTP (MailKit) or Microsoft Graph API. Supports Umbraco 13 (net8.0) and Umbraco 17 (net10.0).

Compatibility
| Umbraco | .NET | Package Version |
|---|---|---|
| 13.x | 8.0 | 2.0.0 |
| 17.x | 10.0 | 2.0.0 |
Installation
dotnet add package SplatDev.Umbraco.Plugins.Mailer
Quick Start
Register in Program.cs:
builder.CreateUmbracoBuilder()
.AddBackOffice()
.AddWebsite()
.AddMailer() // <-- add this
.Build();
Configuration
The plugin reads SMTP settings from Umbraco's standard GlobalSettings:Smtp block in appsettings.json:
{
"Umbraco": {
"CMS": {
"Global": {
"Smtp": {
"Host": "smtp.example.com",
"Port": 587,
"Username": "noreply@example.com",
"Password": "<your-password>",
"SecureSocketOptions": "StartTls"
}
}
}
}
}
Usage
Sending Template-Based Email
Inject IEmailService<T> and call SendEmailAsync with a view-model:
using SplatDev.Umbraco.Plugins.Mailer.Models;
using SplatDev.Umbraco.Plugins.Mailer.Services;
public class OrderConfirmationHandler(IEmailService<OrderModel> emailService)
{
public async Task SendAsync()
{
var model = new EmailModel<OrderModel>
{
Subject = "Your order has shipped",
View = "~/Views/Mail/OrderConfirmation.cshtml",
From = new MailboxAddress("Shop", "noreply@example.com"),
To = new MailboxAddress("Customer", "customer@example.com"),
Model = new OrderModel { OrderId = "12345" }
};
await emailService.SendEmailAsync(model);
}
}
Testing Email Configuration
The MailerApiController exposes a test endpoint at /umbraco/backoffice/api/Mailer/SendTestAsync?email=test@example.com — sends a confirmation HTML email to verify SMTP is wired correctly.
Architecture
| Component | Role |
|---|---|
EmailService<T> |
Generates HTML from Razor views via ViewRenderService and delivers via MailKit SMTP |
MicrosoftGraphMailerService |
Sends email through Microsoft Graph API (Exchange Online) |
EmailModel<T> |
Generic container: subject, body, from/to addresses, Razor view path, domain URL |
MailerComposer |
Registers both services in DI |
Dependencies
- MailKit (SMTP delivery)
- Microsoft Graph SDK (Exchange Online delivery)
- Umbraco
GlobalSettings:Smtpconfiguration
License
MIT © SplatDev
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. 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. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Azure.Identity (>= 1.13.2)
- MailKit (>= 4.15.1)
- Microsoft.Extensions.FileProviders.Embedded (>= 10.0.6)
- Microsoft.Graph (>= 5.73.0)
- Microsoft.Identity.Client (>= 4.69.1)
- MimeKit (>= 4.15.1)
- SplatDev.Umbraco.Common (>= 2.0.1)
- SplatDev.Umbraco.Markup (>= 2.0.1)
- Umbraco.Cms.Api.Management (>= 17.3.4)
- Umbraco.Cms.Web.Website (>= 17.3.4)
-
net8.0
- Azure.Identity (>= 1.13.2)
- MailKit (>= 4.15.1)
- Microsoft.Extensions.FileProviders.Embedded (>= 8.0.11)
- Microsoft.Graph (>= 5.73.0)
- Microsoft.Identity.Client (>= 4.69.1)
- MimeKit (>= 4.15.1)
- SplatDev.Umbraco.Common (>= 2.0.1)
- SplatDev.Umbraco.Markup (>= 2.0.1)
- Umbraco.Cms.Web.BackOffice (>= 13.12.0)
- Umbraco.Cms.Web.Website (>= 13.12.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on SplatDev.Umbraco.Plugins.Mailer:
| Package | Downloads |
|---|---|
|
SplatDev.Umbraco.Plugins.CacheManager
Umbraco cache manager/warmer plugin supporting Umbraco 13 (net8.0) and Umbraco 17 (net10.0) |
GitHub repositories
This package is not used by any popular GitHub repositories.