Transiever.ManageSieve.Cli
1.3.0
dotnet tool install --global Transiever.ManageSieve.Cli --version 1.3.0
dotnet new tool-manifest
dotnet tool install --local Transiever.ManageSieve.Cli --version 1.3.0
#tool dotnet:?package=Transiever.ManageSieve.Cli&version=1.3.0
nuke :add-package Transiever.ManageSieve.Cli --version 1.3.0
msieve
This guide is the canonical command reference for the ManageSieve CLI. See the ManageSieve project overview and ManageSieve library guide for the public client API.
Install
dotnet tool install --global Transiever.ManageSieve.Cli
The global-tool package is available on NuGet.org. For a tool-selection guide and self-contained installation options, see the Transiever ManageSieve CLI guide.
Commands:
msieve capabilities
msieve list
msieve get active --output active.sieve
msieve check --file candidate.sieve
msieve put candidate --file candidate.sieve
msieve put candidate --file candidate.sieve --activate
msieve activate candidate
msieve deactivate
msieve delete old-script
During development, replace msieve with:
dotnet run --project src/Transiever.ManageSieve.Cli --
Install the self-contained Linux x64 build with Homebrew:
brew install SeWieland/transiever/msieve
GitHub releases attach self-contained msieve assets for win-x64, win-x86, and linux-x64.
.NET does not define a portable linux-x86 RID, so no Linux x86 asset is produced.
Commands
capabilities connects to the server, applies the configured transport security, and prints advertised capabilities.
It does not authenticate and requires only host, port, and security configuration.
list prints server-side script names and marks the active script with *.
get <script-name> downloads one script.
Use --output <file> to write the exact script bytes to disk.
Without --output, the raw script bytes are written to standard output.
check --file <file> validates a local script with CHECKSCRIPT.
It does not store or activate the content.
put <script-name> --file <file> uploads the exact file bytes with PUTSCRIPT.
Use --activate to run SETACTIVE after a successful upload.
activate <script-name> activates an existing script.
deactivate disables active Sieve processing.
delete <script-name> deletes a server-side script.
The CLI is policy-neutral. It does not reconcile scripts, create backups, manage history, import Outlook rules, generate Sieve, or apply provider-specific policy.
Server Configuration
Configure ManageSieve through environment variables:
TRANSIEVER_SIEVE_HOST=sieve.example.com
TRANSIEVER_SIEVE_PORT=4190
TRANSIEVER_SIEVE_USERNAME=user@example.com
TRANSIEVER_SIEVE_PASSWORD=secret
TRANSIEVER_SIEVE_SECURITY_MODE=StartTlsRequired
TRANSIEVER_SIEVE_SASL_MECHANISM=auto
Use --sieve-host, --sieve-port, --sieve-username, --sieve-password,
--sieve-security-mode, and --sieve-sasl-mechanism to override those values
for a targeted command.
The port and security mode are optional.
The default is port 4190 with required STARTTLS.
ImplicitTls is also supported.
Authentication uses --sieve-sasl-mechanism auto|plain|scram-sha-256 or the
TRANSIEVER_SIEVE_SASL_MECHANISM environment variable.
The precedence is command-line option, environment variable, then the default
auto.
In auto mode, the CLI selects SCRAM-SHA-256 when the server advertises it
and otherwise uses PLAIN when advertised.
An explicit plain or scram-sha-256 selection never downgrades to another
mechanism if that mechanism is unavailable.
Use msieve capabilities to inspect the server's advertised SASL mechanisms
before choosing an explicit mechanism; this command does not authenticate.
Authenticated commands refuse plaintext credentials. If the password variable is absent, an interactive terminal prompts without echoing it.
| 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. |
This package has no dependencies.