123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 |
- ############
- SieveManager
- ############
- .. image:: https://odkr.codeberg.page/sievemgr/_static/coverage.svg
- :target: https://odkr.codeberg.page/sievemgr/_static/coverage.html
- :alt: Coverage data
- .. image:: https://www.bestpractices.dev/projects/8336/badge
- :target: https://www.bestpractices.dev/en/projects/8336
- :alt: OpenSSF best practices badge
- 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: <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 <https://www.gnu.org/licenses/>.
|