Table of Contents

Interface IEmailTemplateService

Namespace
MailStencil
Assembly
MailStencil.Core.dll

The runtime entry point for loading and rendering a template.

public interface IEmailTemplateService

Remarks

The default singleton coordinates exact reader lookups, culture-parent fallback, positive source caching and rendering. Reader and renderer dependencies must be safe for concurrent use and suitable for a singleton lifetime. No rendered output or model is cached.

Methods

RenderAsync<TModel>(TemplateRequest, TModel, CancellationToken)

Renders a requested variant/version. Null culture uses the default variant. Formatting always uses the originally requested culture, or invariant culture for null, even when a parent/default variant is found. Name and version are preserved during fallback.

Task<RenderedEmailTemplate> RenderAsync<TModel>(TemplateRequest request, TModel model, CancellationToken cancellationToken = default) where TModel : notnull

Parameters

request TemplateRequest
model TModel
cancellationToken CancellationToken

Returns

Task<RenderedEmailTemplate>

Type Parameters

TModel

Exceptions

TemplateNotFoundException

All exact fallback variants are absent.

RenderAsync<TModel>(string, TModel, CancellationToken)

Renders a named active template using configured culture defaults.

Task<RenderedEmailTemplate> RenderAsync<TModel>(string name, TModel model, CancellationToken cancellationToken = default) where TModel : notnull

Parameters

name string
model TModel
cancellationToken CancellationToken

Returns

Task<RenderedEmailTemplate>

Type Parameters

TModel

Exceptions

TemplateNotFoundException

All exact fallback variants are absent.