Transmitly.ChannelProvider.Smtp
0.3.0
dotnet add package Transmitly.ChannelProvider.Smtp --version 0.3.0
NuGet\Install-Package Transmitly.ChannelProvider.Smtp -Version 0.3.0
<PackageReference Include="Transmitly.ChannelProvider.Smtp" Version="0.3.0" />
<PackageVersion Include="Transmitly.ChannelProvider.Smtp" Version="0.3.0" />
<PackageReference Include="Transmitly.ChannelProvider.Smtp" />
paket add Transmitly.ChannelProvider.Smtp --version 0.3.0
#r "nuget: Transmitly.ChannelProvider.Smtp, 0.3.0"
#:package Transmitly.ChannelProvider.Smtp@0.3.0
#addin nuget:?package=Transmitly.ChannelProvider.Smtp&version=0.3.0
#tool nuget:?package=Transmitly.ChannelProvider.Smtp&version=0.3.0
Transmitly.ChannelProvider.Smtp
A Transmitly channel provider for sending Email communications through SMTP using MailKit.
Installation
Install from NuGet:
dotnet add package Transmitly.ChannelProvider.Smtp
Quick Start
using Transmitly;
using Transmitly.ChannelProvider.Smtp.Configuration;
ICommunicationsClient communicationsClient = new CommunicationsClientBuilder()
.AddSmtpSupport(options =>
{
options.Host = "smtp.example.com";
options.Port = 587;
options.UserName = "smtp-user";
options.Password = "smtp-password";
})
.AddPipeline("welcome-email", pipeline =>
{
pipeline.AddEmail("welcome@my.app".AsIdentityAddress("Welcome Team"), email =>
{
email.Subject.AddStringTemplate("Welcome to My App");
email.HtmlBody.AddStringTemplate("<h1>Welcome to My App</h1><p>Thanks for joining us.</p><p><a href=\"https://my.app/get-started\">Get started</a></p>");
email.TextBody.AddStringTemplate("Welcome to My App\n\nThanks for joining us.\nGet started: https://my.app/get-started");
});
})
.BuildClient();
var result = await communicationsClient.DispatchAsync(
"welcome-email",
"newuser@my.app".AsIdentityAddress("New User"),
new { });
SMTP Options
AddSmtpSupport(options => ...) accepts SmtpOptions from Transmitly.ChannelProvider.Smtp.Configuration.
| Option | Required | Default | Description |
|---|---|---|---|
Host |
Yes | null |
SMTP server host name. |
Port |
No | 587 (465 when SocketOptions = SslOnConnect) |
SMTP server port. |
SocketOptions |
No | Auto |
TLS/SSL behavior (None, Auto, SslOnConnect, StartTls, StartTlsWhenAvailable). |
Encoding |
No | UTF8 |
Encoding. |
Credentials |
Conditional | null |
SMTP server credentials. |
UserName |
Conditional | null |
SMTP server username. |
Password |
Conditional | null |
SMTP server password. |
Multiple SMTP Providers
You can register multiple SMTP providers with different providerId values and route communications to a GDPR or non-GDPR SMTP server.
using Transmitly;
using Transmitly.ChannelProvider.Smtp.Configuration;
ICommunicationsClient client = new CommunicationsClientBuilder()
.AddSmtpSupport(o =>
{
o.Host = "smtp.eu-gdpr.example.com";
o.Port = 587;
o.SocketOptions = SecureSocketOptions.StartTls;
o.UserName = "gdpr-user";
o.Password = "gdpr-password";
}, providerId: "gdpr")
.AddSmtpSupport(o =>
{
o.Host = "smtp.global.example.com";
o.Port = 587;
o.SocketOptions = SecureSocketOptions.StartTls;
o.UserName = "non-gdpr-user";
o.Password = "non-gdpr-password";
}, providerId: "non-gdpr")
.AddPipeline("eu-account-alert", pipeline =>
{
pipeline.AddEmail("privacy@my.app".AsIdentityAddress("Privacy Team"), email =>
{
email.Subject.AddStringTemplate("Important account alert");
email.TextBody.AddStringTemplate("There is an update on your account.");
email.AddChannelProviderFilter(Id.ChannelProvider.Smtp("gdpr"));
});
})
.AddPipeline("global-marketing-email", pipeline =>
{
pipeline.AddEmail("news@my.app".AsIdentityAddress("Marketing"), email =>
{
email.Subject.AddStringTemplate("Latest product updates");
email.TextBody.AddStringTemplate("See what's new this month.");
email.AddChannelProviderFilter(Id.ChannelProvider.Smtp("non-gdpr"));
});
})
.BuildClient();
Related Packages
For broader concepts such as channels, pipelines, delivery reports, and template engines, see the main Transmitly project.
Copyright (c) Code Impressions, LLC. This open-source project is sponsored and maintained by Code Impressions and is licensed under the Apache License, Version 2.0.
| 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 was computed. 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 was computed. 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 is compatible. net48 is compatible. 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. |
-
.NETFramework 4.7.2
- Transmitly (>= 0.3.0)
- Transmitly.ChannelProvider.Smtp.Configuration (>= 0.3.0)
- Transmitly.ChannelProvider.Smtp.MailKit (>= 0.3.0)
-
.NETFramework 4.8
- Transmitly (>= 0.3.0)
- Transmitly.ChannelProvider.Smtp.Configuration (>= 0.3.0)
- Transmitly.ChannelProvider.Smtp.MailKit (>= 0.3.0)
-
.NETStandard 2.0
- Transmitly (>= 0.3.0)
- Transmitly.ChannelProvider.Smtp.Configuration (>= 0.3.0)
- Transmitly.ChannelProvider.Smtp.MailKit (>= 0.3.0)
-
net6.0
- Transmitly (>= 0.3.0)
- Transmitly.ChannelProvider.Smtp.Configuration (>= 0.3.0)
- Transmitly.ChannelProvider.Smtp.MailKit (>= 0.3.0)
-
net8.0
- Transmitly (>= 0.3.0)
- Transmitly.ChannelProvider.Smtp.Configuration (>= 0.3.0)
- Transmitly.ChannelProvider.Smtp.MailKit (>= 0.3.0)
-
net9.0
- Transmitly (>= 0.3.0)
- Transmitly.ChannelProvider.Smtp.Configuration (>= 0.3.0)
- Transmitly.ChannelProvider.Smtp.MailKit (>= 0.3.0)
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 |
|---|---|---|
| 0.3.0 | 145 | 3/25/2026 |
| 0.2.2-10.e3df4f5 | 76 | 3/3/2026 |
| 0.2.2-9.00765df | 94 | 1/17/2026 |
| 0.2.1 | 301 | 7/28/2025 |