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
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
servicesIServiceCollectionThe IServiceCollection to which the services will be added.
configurationIConfigurationThe application IConfiguration instance containing the Twilio mail configuration section.
sectionNamestringThe configuration section name to bind. Defaults to
"MailTwilio".configureResilienceAction<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.