OutWit.Shared.Email.Plugins
1.0.0
Package renamed
dotnet add package OutWit.Shared.Email.Plugins --version 1.0.0
NuGet\Install-Package OutWit.Shared.Email.Plugins -Version 1.0.0
<PackageReference Include="OutWit.Shared.Email.Plugins" Version="1.0.0" />
<PackageVersion Include="OutWit.Shared.Email.Plugins" Version="1.0.0" />
<PackageReference Include="OutWit.Shared.Email.Plugins" />
paket add OutWit.Shared.Email.Plugins --version 1.0.0
#r "nuget: OutWit.Shared.Email.Plugins, 1.0.0"
#:package OutWit.Shared.Email.Plugins@1.0.0
#addin nuget:?package=OutWit.Shared.Email.Plugins&version=1.0.0
#tool nuget:?package=OutWit.Shared.Email.Plugins&version=1.0.0
OutWit.Shared.Email.Plugins
Plugin contract for OutWit email providers. One file, one interface — IEmailProviderPlugin, a marker over IWitPlugin that lets a host scan a plugin folder for vendor-specific transports (Resend, SMTP, AWS SES, …) without coupling to any one SDK.
Plugin authors: see the OutWit Plugin Architecture Guide for the end-to-end workflow (csproj setup, nuspec packaging,
build/*.targets, module-folder layout). This package contains only the contract.
Plugin author quickstart
using Microsoft.Extensions.DependencyInjection;
using OutWit.Common.Email; // IEmailTransport, EmailMessage, ...
using OutWit.Common.Plugins.Abstractions; // WitPluginBase
using OutWit.Common.Plugins.Abstractions.Attributes; // [WitPluginManifest]
using OutWit.Shared.Email.Plugins; // IEmailProviderPlugin
[WitPluginManifest("Mailgun Email Provider", Version = "1.0.0")]
public sealed class MailgunEmailProviderPlugin : WitPluginBase, IEmailProviderPlugin
{
public string Key => "Mailgun";
public override void Initialize(IServiceCollection services)
{
services.AddSingleton<IEmailTransport, MailgunEmailTransport>();
}
}
Host author quickstart
using OutWit.Common.Plugins;
using OutWit.Shared.Email.Plugins;
var loader = new WitPluginLoader<IEmailProviderPlugin>(
Path.Combine(AppContext.BaseDirectory, "@Plugins"));
loader.Load();
foreach (var plugin in loader.Plugins)
plugin.Initialize(services);
var sp = services.BuildServiceProvider();
foreach (var plugin in loader.Plugins)
plugin.OnInitialized(sp);
var transport = sp.GetRequiredService<IEmailTransport>();
await transport.SendAsync(message);
Bundled / reference plugins
| Package | Key | Notes |
|---|---|---|
OutWit.Shared.Email.Plugin.Null |
Null |
Zero-config fallback. Two modes: LogOnly (prints message to logs — useful in dev) and Drop (fails fast — useful in production-without-email). |
OutWit.Shared.Email.Plugin.Resend |
Resend |
HTTP API-based, modern transactional email. |
OutWit.Shared.Email.Plugin.Smtp (planned) |
Smtp |
MailKit-based, covers on-prem / corporate Exchange / dev SMTP catchers like MailHog. |
License
Apache 2.0 — see LICENSE.
| Product | Versions 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 is compatible. 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 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 is compatible. 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. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. 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 | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- OutWit.Common.Email (>= 1.0.0)
- OutWit.Common.Plugins.Abstractions (>= 1.1.2)
-
net10.0
- OutWit.Common.Email (>= 1.0.0)
- OutWit.Common.Plugins.Abstractions (>= 1.1.2)
-
net6.0
- OutWit.Common.Email (>= 1.0.0)
- OutWit.Common.Plugins.Abstractions (>= 1.1.2)
-
net7.0
- OutWit.Common.Email (>= 1.0.0)
- OutWit.Common.Plugins.Abstractions (>= 1.1.2)
-
net8.0
- OutWit.Common.Email (>= 1.0.0)
- OutWit.Common.Plugins.Abstractions (>= 1.1.2)
-
net9.0
- OutWit.Common.Email (>= 1.0.0)
- OutWit.Common.Plugins.Abstractions (>= 1.1.2)
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 |
|---|