Manage Sieve scripts remotely. https://odkr.codeberg.page/sievemgr

Odin Kroeger d9d3dc5123 docs: Passwords managers are now discussed more extensively il y a 6 mois
.githooks 48055b71e2 chore(.githooks/pre-push): Fixed suppression of TODO and FIXME il y a 9 mois
comp 5e7289693e style(comp/sievemgr.bash): removed hash-bang il y a 11 mois
deb 5694a06f14 chore(deb/debsig.pol): fixed a typo il y a 10 mois
docs d9d3dc5123 docs: Passwords managers are now discussed more extensively il y a 6 mois
examples d57dc2e4e5 docs: fixed error in example il y a 11 mois
rfcs 5575c878e4 docs(rfcs): added RFCs that regulate hostname and DNS names il y a 10 mois
tests ddb4182165 tests(BaseShell): Added some coments il y a 8 mois
.gitignore a0b3fb356e chore(.gitignore): added deb/control and deb/copryight il y a 10 mois
INSTALL.rst add6774b34 docs: Minor changes il y a 7 mois
LICENSE.rst f4179ee55a docs: Minor stylistic changes il y a 7 mois
Makefile 902d801f30 build: Fixed .deb build il y a 6 mois
Makefile.in 902d801f30 build: Fixed .deb build il y a 6 mois
NEWS.rst a68b06d335 chore: Bumped version number il y a 6 mois
README.rst 363d6f4768 docs: Minor change il y a 6 mois
SECURITY.rst f4179ee55a docs: Minor stylistic changes il y a 7 mois
linters.txt 0fcce922b9 chore: renamed lint.txt to linters.txt il y a 11 mois
macrop.py d540bef1de chore(macrop.py): Fixed style issues il y a 9 mois
pyproject.toml 3cfa188454 chore(pyproject.toml): Fixed license il y a 8 mois
safety.yml 069f1b4e8e chore: Updated dependency check exceptions il y a 7 mois
setup.cfg e7d3d1bb54 fix: TLS expiry is compared non-naively if possible il y a 7 mois
sievemgr.py ca0c6daebe chore: Bumped version number il y a 6 mois

README.rst

.. image:: https://www.bestpractices.dev/badge_static/97
:target: https://www.bestpractices.dev/en/projects/8336
:alt: OpenSSF best practices badge

############
SieveManager
############

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

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

**WARNING**: The command-line interface, the configuration semantics,
and the Python API may still change.

.. _Sieve: http://sieve.info
.. _`home page`: https://odkr.codeberg.page/sievemgr


Example
=======

Upload and activate a Sieve script:

.. code:: none

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

In Python:

.. code:: 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 [#untested]_ 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


.. [#untested] SCRAM-\*-PLUS authentication is untested.


Documentation
=============

Use **sievemgr -h**, type "help" in the SieveManager shell,
or see the `home page`_.


Contact
=======

Home page:
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


License
=======

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 .