Skip to main content

Fully-featured ManageSieve command-line client and library

Project description

OpenSSF best practices badge

SieveManager

SieveManager is a command-line client for uploading, downloading, and managing Sieve scripts using the ManageSieve protocol. It can also be used as a Python module.

Sieve is a programming language for filtering email. Sieve scripts are typically run by the mail server when mail is delivered to an inbox, which is why they need to be managed remotely.

WARNING: The command-line interface, the configuration semantics, and the Python API, are not yet stable.

EXAMPLE

Upload and activate a Sieve script:

$ sievemgr user@imap.foo.example
user@imap.foo.example's password: <password>
sieve://user@imap.foo.example> put script.sieve
sieve://user@imap.foo.example> activate script.sieve

In Python:

from sievemgr import SieveManager
with SieveManager('imap.foo.example') as mgr:
    mgr.authenticate('user', 'password')
    with open('sieve.script', 'br') as script:
        mgr.putscript(script, 'sieve.script')
    mgr.setactive('sieve.script')

FEATURES

  • Complies fully with RFC 5804 (ManageSieve protocol)

  • Login can be automated with:

    • Password managers

    • GnuPG-encrypted password files

    • sieve.cf

    • .netrc

  • Password-based authentication with:

    • CRAM-MD5

    • LOGIN

    • PLAIN

    • SCRAM-* and SCRAM-*-PLUS [1] with

      • SHA-1

      • SHA-2-234

      • SHA-2-256

      • SHA-2-384

      • SHA-2-512

      • SHA-3-512

  • TLS client authentication

  • Proxy authentication

  • Tab-completion

  • Scriptable

  • Emacs-like backup of scripts

  • Checks whether TLS certificates have been revoked (using lightweight OCSP)

  • Supports TLS Server Name Indication

  • Supports giving IPv6 addresses on the command-line

DOCUMENTATION

Use sievemgr -h, type “help” in the SieveManager shell, or see the homepage.

CONTACT

Homepage:

https://odkr.codeberg.page/sievemgr

Issue tracker:

https://github.com/odkr/sievemgr/issues

Source code (primary):

https://codeberg.org/odkr/sievemgr

Source code (secondary):

https://notabug.org/odkr/sievemgr

LICENCE

Copyright 2023 and 2024 Odin Kroeger

SieveManager is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the FreeSoftware Foundation, either version 3 of the License, or (at your option) any later version.

SieveManager is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with SieveManager. If not, see <https://www.gnu.org/licenses/>.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sievemgr-0.7.4.6.tar.gz (76.6 kB view hashes)

Uploaded Source

Built Distribution

sievemgr-0.7.4.6-py3-none-any.whl (61.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page