Transmitly.ChannelProvider.SendGrid 0.4.6-2.dc0c6c0

This is a prerelease version of Transmitly.ChannelProvider.SendGrid.
There is a newer version of this package available.
See the version list below for details.
dotnet add package Transmitly.ChannelProvider.SendGrid --version 0.4.6-2.dc0c6c0
                    
NuGet\Install-Package Transmitly.ChannelProvider.SendGrid -Version 0.4.6-2.dc0c6c0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Transmitly.ChannelProvider.SendGrid" Version="0.4.6-2.dc0c6c0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Transmitly.ChannelProvider.SendGrid" Version="0.4.6-2.dc0c6c0" />
                    
Directory.Packages.props
<PackageReference Include="Transmitly.ChannelProvider.SendGrid" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Transmitly.ChannelProvider.SendGrid --version 0.4.6-2.dc0c6c0
                    
#r "nuget: Transmitly.ChannelProvider.SendGrid, 0.4.6-2.dc0c6c0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Transmitly.ChannelProvider.SendGrid@0.4.6-2.dc0c6c0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Transmitly.ChannelProvider.SendGrid&version=0.4.6-2.dc0c6c0&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Transmitly.ChannelProvider.SendGrid&version=0.4.6-2.dc0c6c0&prerelease
                    
Install as a Cake Tool

Transmitly.ChannelProvider.SendGrid

Transmitly.ChannelProvider.SendGrid is the convenience package for sending email with Transmitly through Twilio SendGrid.

This is the package most applications should install. It wires together:

  • Transmitly.ChannelProvider.SendGrid.Configuration
  • Transmitly.ChannelProvider.SendGrid.Sdk

Supported channels:

  • Email

Install

dotnet add package Transmitly.ChannelProvider.SendGrid

Quick Start

using Transmitly;

ICommunicationsClient client = new CommunicationsClientBuilder()
	.AddSendGridSupport(options =>
	{
		options.ApiKey = "your-sendgrid-api-key";
		// Required unless ValidateDeliveryReportSignature = false. See Delivery Reports.
		options.EventWebhookVerificationKey = "your-event-webhook-verification-key";
	})
	.AddPipeline("welcome-email", pipeline =>
	{
		pipeline.AddEmail("welcome@example.com".AsIdentityAddress("Example App"), email =>
		{
			email.Subject.AddStringTemplate("Welcome to Example App");
			email.HtmlBody.AddStringTemplate("<strong>Welcome</strong> to Example App.");
			email.TextBody.AddStringTemplate("Welcome to Example App.");
		});
	})
	.BuildClient();

var result = await client.DispatchAsync(
	"welcome-email",
	"customer@example.com",
	new { });

Configuration

AddSendGridSupport(options => ...) accepts SendGridOptions.

Common settings:

  • ApiKey: your Twilio SendGrid API key.
  • Host: defaults to https://api.sendgrid.com.
  • Version: defaults to v3.
  • HttpErrorAsException: forward HTTP failures as exceptions from the underlying client.
  • RequestHeaders, UrlPath, Auth, and ReliabilitySettings for advanced client configuration.

SendGrid-Specific Email Features

This package registers SendGrid email extensions through email.SendGrid().

The primary provider-specific setting is TemplateId, which lets you send with a SendGrid dynamic template instead of the channel subject/body content.

using Transmitly;

pipeline.AddEmail("welcome@example.com".AsIdentityAddress("Example App"), email =>
{
	email.Subject.AddStringTemplate("Welcome to Example App");
	email.TextBody.AddStringTemplate("Welcome to Example App.");
	email.SendGrid().TemplateId = "d-0123456789abcdef0123456789abcdef";
});

Delivery Reports

This package registers a SendGrid webhook adaptor that converts SendGrid event webhook payloads into Transmitly DeliveryReport instances.

Because SendGrid uses a static webhook URL per account, the Transmitly request adaptor expects the callback URL to identify the channel and provider. A common pattern is to use a URL such as:

https://your-app.example.com/communications/channel/provider/update?tlyc=Email&tlycp=SendGrid

If you are using the MVC integration packages, point the webhook at your Transmitly delivery-report endpoint and include the same query-string context.

Event webhooks are checked against SendGrid's Signed Event Webhook headers. Turn on Signed Event Webhook in SendGrid (Settings → Mail Settings → Event Webhook) and copy the verification key. Requests that fail the check are rejected with 403 Forbidden by the MVC integration packages.

  • EventWebhookVerificationKey: the verification key. AddSendGridSupport throws at startup if it is missing while ValidateDeliveryReportSignature is true.
  • ValidateDeliveryReportSignature: defaults to true. Set it to false if you don't receive SendGrid event webhooks; then no key is needed.

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 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 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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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.5.0 47 11/8/2026
0.4.6-2.dc0c6c0 44 11/7/2026
0.4.5 122 10/23/2026
0.4.4 100 10/19/2026
0.4.0 198 7/26/2026
0.3.0 194 3/25/2026
0.2.4-11.4cf5b0f 95 3/24/2026
0.2.4-9.8dd6a45 118 1/17/2026
0.2.3 325 7/31/2025
0.2.2 320 7/27/2025
Loading failed