Table of Contents

Class ServiceCollectionExtensions

Namespace
NuvTools.Notification.Mail.Twilio.Configuration
Assembly
NuvTools.Notification.Mail.Twilio.dll

Provides extension methods for configuring the Twilio Email services in the dependency injection container.

public static class ServiceCollectionExtensions
Inheritance
ServiceCollectionExtensions
Inherited Members

Fields

DefaultResilience

The default resilience policy applied to the Twilio Email client: 2 retries with 1s delay, 30s per-attempt timeout, 60s circuit-breaker sampling, 90s total request timeout.

public static readonly Action<HttpStandardResilienceOptions> DefaultResilience

Field Value

Action<HttpStandardResilienceOptions>

HttpClientName

Name of the registered HttpClient.

public const string HttpClientName = "TwilioMail"

Field Value

string

Methods

AddTwilioMail(IServiceCollection, IConfiguration, string, Action<HttpStandardResilienceOptions>?)

Registers and configures the Twilio Email service for options-based dependency injection.

public static IServiceCollection AddTwilioMail(this IServiceCollection services, IConfiguration configuration, string sectionName = "MailTwilio", Action<HttpStandardResilienceOptions>? configureResilience = null)

Parameters

services IServiceCollection

The IServiceCollection to which the services will be added.

configuration IConfiguration

The application IConfiguration instance containing the Twilio mail configuration section.

sectionName string

The configuration section name to bind. Defaults to "MailTwilio".

configureResilience Action<HttpStandardResilienceOptions>

Optional delegate to customize the resilience pipeline. Defaults to DefaultResilience.

Returns

IServiceCollection

The updated IServiceCollection instance, enabling method chaining.

Remarks

This method binds the specified configuration section to TwilioMailConfigurationSection and registers TwilioMailService as a typed HttpClient with the API base address, Basic authentication header and a standard resilience pipeline. The service is resolved as IMailService, so the application layer depends only on the NuvTools.Notification.Mail abstraction.