MailStencil.FileSystem
0.1.0-preview.1
dotnet add package MailStencil.FileSystem --version 0.1.0-preview.1
NuGet\Install-Package MailStencil.FileSystem -Version 0.1.0-preview.1
<PackageReference Include="MailStencil.FileSystem" Version="0.1.0-preview.1" />
<PackageVersion Include="MailStencil.FileSystem" Version="0.1.0-preview.1" />
<PackageReference Include="MailStencil.FileSystem" />
paket add MailStencil.FileSystem --version 0.1.0-preview.1
#r "nuget: MailStencil.FileSystem, 0.1.0-preview.1"
#:package MailStencil.FileSystem@0.1.0-preview.1
#addin nuget:?package=MailStencil.FileSystem&version=0.1.0-preview.1&prerelease
#tool nuget:?package=MailStencil.FileSystem&version=0.1.0-preview.1&prerelease
MailStencil.FileSystem
An exact, read-only UTF-8 template reader. References MailStencil.Core only.
services.AddMailStencil().AddScribanRenderer().AddFileSystemTemplateReader(options =>
{
options.BasePath = "./templates";
// options.MaxTemplateFileSize = 128 * 1024; // default bytes per part, including BOM
});
Maps requests to <base>/<name>/<culture-or-default>/subject.txt, body.html, body.txt.
Subject and at least one body must exist; empty files are allowed. No localization fallback or
explicit versions are supported. Missing exact directories return null; malformed/unsafe/unstable
content throws FileSystemTemplateException. Operational permission/I/O failures propagate.
The singleton has no mutable per-request shared state and performs async reads with bounded retries. Registration rejects existing readers. Symlinks/reparse points are rejected, including base ancestors. Use an application-controlled directory tree: portable metadata checks are not protection against every hostile filesystem race or a transactional multipart snapshot.
The provider accepts only restrictive logical name/culture segments and rejects links/reparse points. The configured base tree must still be controlled by the application: portable path checks are not an OS-handle-level sandbox and cannot guarantee a transactional snapshot against hostile writers.
See the MailStencil repository for the full runtime example, localization behavior, and security limits.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | 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. |
-
net10.0
- MailStencil.Core (>= 0.1.0-preview.1)
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.1.0-preview.1 | 0 | 9/10/2026 |
First public preview candidate of MailStencil's read-only runtime, renderer, and storage providers.