A ManageSieve client for .NET and C#.
Transiever.ManageSieve is an async-first .NET 10 library for directly managing server-side Sieve scripts through the RFC 5804 ManageSieve protocol.
Install the library or CLI
dotnet add package Transiever.ManageSieve
dotnet tool install --global Transiever.ManageSieve.Cli
The library is available from NuGet. The companion CLI package installs the direct-protocol msieve command.
Use it for direct script operations
The client provides TCP, STARTTLS, and implicit TLS transport; capability-driven SASL authentication; streaming response parsing; and the RFC 5804 command surface for listing, downloading, checking, uploading, activating, and deleting scripts.
Automated integration tests exercise the supported command set against a pinned Dovecot/Pigeonhole server image, while deterministic unit tests cover fragmented input and protocol edge cases.
IReadOnlyList<ManageSieveScriptInfo> scripts =
await client.ListScriptsAsync(cancellationToken);
await client.PutScriptAsync("candidate", candidateBytes, cancellationToken);
await client.SetActiveScriptAsync("candidate", cancellationToken);
Choose the right layer
Use this package when your application owns its Sieve policy and needs direct protocol operations. Use SieveRuler when you also need provider-neutral rule models, Sieve generation, reconciliation, preview, deployment, and rollback.
See the ManageSieve repository for its public API, security defaults, and protocol details.