App::Siesh - interactive sieve shell


            debug => 0,
            user  => 'dom',
            host  => 'imap',
            tls   => 'require',
            port  => '2000',
            password => 'secret',


App::Siesh provides a shell-like interface for manipulating sieve scripts using the ManageSieve protocol. If you search a command line utility, take a look at siesh.



Enable debugging.


Specifies the username to use when logging into the sieve server. This option defaults to the value of the environment variable USER.


Specifies the machine to connect to. Defaults to imap.


Specifies the remote port to connect to. Defaults to 2000.


Specifies whether TLS is required ("require"), optional ("auto") or disables ("off"). Defaults to auto.


If an IO::Handle object is provdided, App::Siesh won't read commands from the command line prompt, but from that filehandle.


Specifies the password to login.



Prints a list of all scripts on the server. The currently active script, if any, is marked by a * (astersik).

Synonyms: ls, dir

delete script-name ...

Deletes all listed scripts. It's not possible to delete the currently active script, so please use deactivate first. There's no way to undelete a deleted script.

If you specify * (asterisk) as first argument to delete, the active script is deactivated and all scripts are deleted.

Synonyms: rm

edit script-name

Edits a script on the server without downloading it explicitly to your disk first. Under the hood it creates a temporary file, puts the script content in it and calls $ENV{EDITOR} on it. After that the script is uploaded back. It's also possible to create and edit a new script with this command.

If your script is syntactical incorrect, you will be prompted to re-edit the file or throw away your changes.

Synonyms: vi

copy script-name script-name

Copies the contents of the source script-name to a target script. The contents of the target script are overridden.

Synonyms: cp

move script-name script-name

Moves script to a destination script. The destination script is overridden.

Synonyms: mv

activate script-name

Activates the listed script. User may have multiple Sieve scripts on the server, yet only one script may be used for filtering of incoming messages. This is called the active script. Users may have zero or one active scripts

Synonyms: set


Deactivate all scripts. Deactivation of all your scripts results in no filtering at all.

Synonyms: unset

cat script-name

Print script on the standard output.

Synonyms: type

view script-name

Calls $ENV{PAGER} or "less" on script. In case of any error, we fall back to use cat.

Synonyms: more


Terminates the sessiion with the remote SIEVE server. An end of file will also terminate the session and exit.

Synonyms: q, logout


Print a short description of all commands.

Synonyms: h

put file-name script-name

Store a local file as script on the remote machine.

get file-name local-name

Retrieve a remote script and store it on the local machine.


siesh, Net::ManageSieve::Siesh, Net::ManageSieve


Mario Domgoergen <>


Copyright 2008 Mario Domgoergen, all rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.