Class MailForgeBuilder
Fluent configuration for the MailForge framework. Passed to see AddMailForge(IServiceCollection, Action<MailForgeBuilder>) to select a provider, register templates, validators, and middleware, and tune delivery behavior.
public sealed class MailForgeBuilder
- Inheritance
-
MailForgeBuilder
- Inherited Members
Constructors
MailForgeBuilder()
Initializes a new instance of the MailForgeBuilder class.
public MailForgeBuilder()
Methods
AddMiddleware(IEmailMiddleware)
Adds a middleware stage to the delivery pipeline.
public MailForgeBuilder AddMiddleware(IEmailMiddleware middleware)
Parameters
middlewareIEmailMiddleware
Returns
AddValidator(IEmailValidator)
Adds a validator run before delivery.
public MailForgeBuilder AddValidator(IEmailValidator validator)
Parameters
validatorIEmailValidator
Returns
EnableAutoPlainText(bool)
Enables or disables automatic plain-text generation from the HTML body (enabled by default).
public MailForgeBuilder EnableAutoPlainText(bool enabled = true)
Parameters
enabledbool
Returns
RegisterTemplate(string, string)
Registers a named Razor template available to typed emails.
public MailForgeBuilder RegisterTemplate(string name, string content)
Parameters
Returns
UseAuditSink(IEmailAuditSink)
Registers an audit sink that records every delivery attempt.
public MailForgeBuilder UseAuditSink(IEmailAuditSink auditSink)
Parameters
auditSinkIEmailAuditSink
Returns
UseDefaultFrom(EmailAddress)
Sets a default sender used when a typed email does not specify one.
public MailForgeBuilder UseDefaultFrom(EmailAddress from)
Parameters
fromEmailAddress
Returns
UseDefaultFrom(string, string?)
Sets a default sender from a raw address string.
public MailForgeBuilder UseDefaultFrom(string address, string? displayName = null)
Parameters
Returns
UseFailover(FailoverPolicy, params IEmailProvider[])
Wraps providers in a failover chain that applies policy to every route.
public MailForgeBuilder UseFailover(FailoverPolicy policy, params IEmailProvider[] providers)
Parameters
policyFailoverPolicyprovidersIEmailProvider[]
Returns
UseFailover(params IEmailProvider[])
Wraps providers in a failover precedence chain tried in order until one succeeds. Every route uses the default TransientOnly policy with a single attempt.
public MailForgeBuilder UseFailover(params IEmailProvider[] providers)
Parameters
providersIEmailProvider[]
Returns
UseFailover(params ProviderFailoverRoute[])
Wraps providers in a failover precedence chain from routes listed in order.
public MailForgeBuilder UseFailover(params ProviderFailoverRoute[] routes)
Parameters
routesProviderFailoverRoute[]
Returns
UseFailover(IEnumerable<ProviderFailoverRoute>)
Wraps providers in a failover precedence chain, each route carrying its own Policy and attempt budget. Routes are tried in order and delivery stops at the first success.
public MailForgeBuilder UseFailover(IEnumerable<ProviderFailoverRoute> routes)
Parameters
routesIEnumerable<ProviderFailoverRoute>
Returns
UseProvider(IEmailProvider)
Selects the provider that delivers messages. Defaults to FakeEmailProvider.
public MailForgeBuilder UseProvider(IEmailProvider provider)
Parameters
providerIEmailProvider
Returns
UseProvider(Func<IServiceProvider, IEmailProvider>)
Selects a provider that is resolved from the service provider when the pipeline is built. Useful for providers registered in dependency injection.
public MailForgeBuilder UseProvider(Func<IServiceProvider, IEmailProvider> factory)
Parameters
factoryFunc<IServiceProvider, IEmailProvider>
Returns
WithRetries(int, TimeSpan?)
Configures transient-failure retries.
public MailForgeBuilder WithRetries(int maxAttempts, TimeSpan? baseDelay = null)
Parameters
maxAttemptsintThe maximum number of delivery attempts (1 disables retries).
baseDelayTimeSpan?The base delay before the first retry (default 1 second).