UseSend.Identity
1.1.0
dotnet add package UseSend.Identity --version 1.1.0
NuGet\Install-Package UseSend.Identity -Version 1.1.0
<PackageReference Include="UseSend.Identity" Version="1.1.0" />
<PackageVersion Include="UseSend.Identity" Version="1.1.0" />
<PackageReference Include="UseSend.Identity" />
paket add UseSend.Identity --version 1.1.0
#r "nuget: UseSend.Identity, 1.1.0"
#:package UseSend.Identity@1.1.0
#addin nuget:?package=UseSend.Identity&version=1.1.0
#tool nuget:?package=UseSend.Identity&version=1.1.0
UseSend.Identity
ASP.NET Core Identity IEmailSender / IEmailSender<TUser> implementation backed by the useSend API.
Installation
dotnet add package UseSend
dotnet add package UseSend.Identity
Usage
Non-generic IEmailSender
Suitable for custom Identity flows or any code that injects IEmailSender.
// Program.cs
builder.Services.AddUseSend("us_your_api_token");
builder.Services.AddUseSendIdentityEmailSender("noreply@yourdomain.com", fromName: "My App");
// In your service
public class AccountService(IEmailSender emailSender)
{
public Task NotifyAsync(string email) =>
emailSender.SendEmailAsync(email, "Hello", "<p>Hello from useSend!</p>");
}
Generic IEmailSender<TUser> (scaffolded Identity pages)
Use this when your project uses scaffolded ASP.NET Core Identity pages (confirmation emails, password resets, etc.).
// Program.cs
builder.Services.AddUseSend("us_your_api_token");
builder.Services.AddUseSendIdentityEmailSender<ApplicationUser>(
fromAddress: "noreply@yourdomain.com",
fromName: "My App"
);
This registers both IEmailSender and IEmailSender<ApplicationUser> so all Identity scaffolding works out of the box.
Customising email templates
Subclass UseSendEmailSender<TUser> and override any of the three virtual methods:
public class MyEmailSender(IEmailService emails, EmailSenderOptions options)
: UseSendEmailSender<ApplicationUser>(emails, options)
{
public override Task SendConfirmationLinkAsync(ApplicationUser user, string email, string link) =>
SendEmailAsync(email, "Verify your email",
$"<h1>Hi {user.UserName}!</h1><p><a href='{link}'>Confirm email</a></p>");
}
// Program.cs
builder.Services.AddSingleton(new EmailSenderOptions("noreply@yourdomain.com", "My App"));
builder.Services.AddTransient<IEmailSender<ApplicationUser>, MyEmailSender>();
builder.Services.AddTransient<IEmailSender, MyEmailSender>();
Default email templates
| Method | Subject | Body |
|---|---|---|
SendConfirmationLinkAsync |
Confirm your email address | Link to confirm account |
SendPasswordResetLinkAsync |
Reset your password | Link to reset password |
SendPasswordResetCodeAsync |
Reset your password | Bold reset code |
| 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. |
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 |
|---|---|---|
| 1.1.0 | 105 | 5/28/2026 |