A ManageSieve client library for remotely managing Sieve scripts, including an user application (the interactive ‘sieveshell’).

Author:Hartmut Goebel <>
License:Python Software Foundation License for the module, GPL v3 for sieveshell and test suite.

python-managesieve is a pure Python module implementing the ManageSieve client protocol. It also includes an user application (the interactive sieveshell).

What is this ManageSieve thing?

The ManageSieve protocol allows managing Sieve scripts on a remote mail server. Sieve scripts allow users to filter incoming email on the mail server. These servers are commonly sealed so users cannot log into them, yet users must be able to update their scripts on them. This is what for the “ManageSieve” protocol is. For more information about the ManageSieve protocol see the ManageSieve Internet draft.

This module allows accessing a Sieve-Server for managing Sieve scripts there. It is accompanied by a simple yet functional user application sieveshell.

What is this sieveshell?

sieveshell is a command line tool for talking to the Sieve server. One can

  • list scripts on the server
  • upload scripts to the server
  • display scripts stored on the server and download or edit them
  • delete scripts stored on the server
  • activate and deactivate scripts

sieveshell is useful for user who wish to manage sieve scripts without installing a fat GUI-based mail client.


Source Code Repository

The source of managesieve is maintained at GitLab. Patches and pull-requests are hearty welcome.

  • You may browse the current repository at the Repository Browser

  • Or you may check out the current version by running:

    git clone

Issue Tracker

Please submit bugs and enhancements to the Issue Tracker at <>.

Historical Note

managesieve was hosted at, but this site closed at May 2012. Then managesieve was hosted, which was closed May 2015.