Soenneker.Email.Senders.Abstract
11.0.222
Prefix Reserved
dotnet add package Soenneker.Email.Senders.Abstract --version 11.0.222
NuGet\Install-Package Soenneker.Email.Senders.Abstract -Version 11.0.222
<PackageReference Include="Soenneker.Email.Senders.Abstract" Version="11.0.222" />
<PackageVersion Include="Soenneker.Email.Senders.Abstract" Version="11.0.222" />
<PackageReference Include="Soenneker.Email.Senders.Abstract" />
paket add Soenneker.Email.Senders.Abstract --version 11.0.222
#r "nuget: Soenneker.Email.Senders.Abstract, 11.0.222"
#:package Soenneker.Email.Senders.Abstract@11.0.222
#addin nuget:?package=Soenneker.Email.Senders.Abstract&version=11.0.222
#tool nuget:?package=Soenneker.Email.Senders.Abstract&version=11.0.222
Soenneker.Email.Senders.Abstract
Defines IEmailSender, the shared contract implemented by SMTP, Resend, and other email-delivery adapters.
Install
dotnet add package Soenneker.Email.Senders.Abstract
Send a structured message
using Soenneker.Email.Senders.Abstract;
using Soenneker.Enums.Email.Format;
using Soenneker.Enums.Email.Priority;
using Soenneker.Messages.Email;
IEmailSender emailSender = /* resolve from DI */;
var message = new EmailMessage
{
Type = "email.receipt.v1",
Id = Guid.NewGuid().ToString("N"),
Queue = "email",
Sender = "orders-api",
CreatedAt = DateTimeOffset.UtcNow,
To = ["recipient@example.net"],
Subject = "Your receipt",
Format = EmailFormat.Html,
Priority = EmailPriority.Normal,
ContentFileName = "receipt.html"
};
bool sent = await emailSender.Send(message, cancellationToken);
Send transport content
Consumers such as queue receptors can pass serialized EmailMessage content without deserializing it first:
bool sent = await emailSender.Send(
messageContent,
transportType,
cancellationToken);
messageContent is expected to contain a serialized EmailMessage. transportType is the message type identifier supplied by the transport; it is not necessarily a CLR type name, and each implementation decides whether to use it for routing or validation.
Result contract
true means the implementation reports that it completed its delivery handoff. false means it deliberately did not send, commonly because delivery is disabled or a provider rejected the request. Rendering, configuration, serialization, transport, and provider failures may instead be raised as exceptions; consult the concrete sender's documentation.
Cancellation stops pending work when the implementation observes the token. It cannot recall a message already accepted by a delivery provider.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net11.0 is compatible. |
-
net11.0
- Soenneker.Messages.Email (>= 11.0.476)
NuGet packages (4)
Showing the top 4 NuGet packages that depend on Soenneker.Email.Senders.Abstract:
| Package | Downloads |
|---|---|
|
Soenneker.Email.Sender
A high-level utility responsible for orchestrating the creation and delivery of templated email messages |
|
|
Soenneker.ServiceBus.Receptors.Email
Consumes email queue messages and enqueues their raw body and type for Flywheel-backed email processing. |
|
|
Soenneker.Email.Senders.Resend
A high-level utility responsible for orchestrating the creation and delivery of templated email messages using Resend |
|
|
Soenneker.Email.Dispatcher
Determines email dispatching/routing |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 11.0.222 | 569 | 11/3/2026 |
| 11.0.221 | 168 | 11/3/2026 |
| 11.0.220 | 640 | 10/27/2026 |
| 11.0.219 | 118 | 10/27/2026 |
| 11.0.218 | 345 | 10/27/2026 |
| 11.0.217 | 153 | 10/26/2026 |
| 11.0.215 | 115 | 10/26/2026 |
| 11.0.214 | 196 | 10/26/2026 |
| 11.0.213 | 194 | 10/26/2026 |
| 11.0.212 | 209 | 10/26/2026 |
| 4.0.211 | 1,013 | 10/15/2026 |
| 4.0.210 | 94 | 10/15/2026 |
| 4.0.209 | 213 | 10/14/2026 |
| 4.0.208 | 228 | 10/14/2026 |
| 4.0.207 | 136 | 10/14/2026 |
| 4.0.206 | 181 | 10/14/2026 |
| 4.0.205 | 132 | 10/14/2026 |
| 4.0.200 | 235 | 10/12/2026 |
| 4.0.199 | 337 | 10/12/2026 |
| 4.0.198 | 99 | 10/12/2026 |
Updated Multiple NuGet packages