Soenneker.Email.Senders.Abstract
4.0.177
Prefix Reserved
dotnet add package Soenneker.Email.Senders.Abstract --version 4.0.177
NuGet\Install-Package Soenneker.Email.Senders.Abstract -Version 4.0.177
<PackageReference Include="Soenneker.Email.Senders.Abstract" Version="4.0.177" />
<PackageVersion Include="Soenneker.Email.Senders.Abstract" Version="4.0.177" />
<PackageReference Include="Soenneker.Email.Senders.Abstract" />
paket add Soenneker.Email.Senders.Abstract --version 4.0.177
#r "nuget: Soenneker.Email.Senders.Abstract, 4.0.177"
#:package Soenneker.Email.Senders.Abstract@4.0.177
#addin nuget:?package=Soenneker.Email.Senders.Abstract&version=4.0.177
#tool nuget:?package=Soenneker.Email.Senders.Abstract&version=4.0.177
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 | 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
- Soenneker.Messages.Email (>= 4.0.405)
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 Hangfire-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 |
|---|---|---|
| 4.0.177 | 158 | 9/5/2026 |
| 4.0.176 | 113 | 9/5/2026 |
| 4.0.175 | 149 | 9/4/2026 |
| 4.0.174 | 677 | 9/1/2026 |
| 4.0.173 | 138 | 9/1/2026 |
| 4.0.172 | 281 | 8/31/2026 |
| 4.0.171 | 242 | 8/31/2026 |
| 4.0.170 | 297 | 8/30/2026 |
| 4.0.169 | 329 | 8/30/2026 |
| 4.0.167 | 770 | 8/26/2026 |
| 4.0.166 | 241 | 8/26/2026 |
| 4.0.165 | 469 | 8/22/2026 |
| 4.0.164 | 307 | 8/21/2026 |
| 4.0.163 | 738 | 8/18/2026 |
| 4.0.162 | 221 | 8/18/2026 |
| 4.0.161 | 139 | 8/18/2026 |
| 4.0.160 | 211 | 8/18/2026 |
| 4.0.159 | 331 | 8/13/2026 |
| 4.0.158 | 837 | 8/8/2026 |
| 4.0.157 | 480 | 8/7/2026 |
Update dependency Soenneker.Messages.Email to 4.0.405 (#492)