[PR #569] [MERGED] Server side filters with Sieve #898

Closed
opened 2026-02-25 21:36:34 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/cypht-org/cypht/pull/569
Author: @henrique-borba
Created: 5/25/2022
Status: Merged
Merged: 8/12/2022
Merged by: @jasonmunro

Base: masterHead: sieve-module


📝 Commits (10+)

  • d6191bf Sieve configuration for the IMAP accounts
  • 43d00af HM3 config file sieve module
  • b51830c Updated composer.json with Sieve dependencies
  • 9c6767c Sieve Module base script manager
  • 37b3ef4 Final version of the script editor with priority and real time communication with sieve
  • e7a9cda Tingle modal library and config gen update
  • 66c3664 Merge branch 'master' into sieve-module
  • a1e7e3f IMAP update for sieve configuration
  • 783b64a Merge remote-tracking branch 'origin/sieve-module' into sieve-module
  • ecbc061 Change ELSE condition location

📊 Changes

17 files changed (+2896 additions, -7 deletions)

View changed files

📝 composer.json (+1 -1)
📝 hm3.sample.ini (+5 -0)
📝 modules/core/output_modules.php (+1 -0)
📝 modules/imap/handler_modules.php (+74 -3)
📝 modules/imap/output_modules.php (+31 -2)
📝 modules/imap/setup.php (+2 -0)
📝 modules/imap/site.css (+1 -0)
📝 modules/imap/site.js (+29 -1)
modules/sievefilters/README.md (+3 -0)
modules/sievefilters/assets/spinner.gif (+0 -0)
modules/sievefilters/assets/tingle.min.css (+1 -0)
modules/sievefilters/modules.php (+1465 -0)
modules/sievefilters/setup.php (+148 -0)
modules/sievefilters/site.css (+276 -0)
modules/sievefilters/site.js (+855 -0)
📝 scripts/config_gen.php (+3 -0)
third_party/tingle.min.js (+1 -0)

📄 Description

This PR adds a new module that allows the creation, construction and management of server side filters using Sieve and the ManageSieve protocol, enabling automatic filters and building the foundations for intelligent filter integration based on artificial intelligence executed directly by the Sieve service (see https://doc.dovecot.org/configuration_manual/sieve/plugins/extprograms/)

Screenshots

Screenshot_20220525_164840
Screenshot_20220525_165007
Screenshot_20220527_103534
Screenshot_20220527_103631
Screenshot_20220527_103704

Dependencies

Thinking of the native and minimalist code followed by Cypht, this change requires few external dependencies. The ManageSieve communication library was custom made to our needs and allows us to add capabilities more conveniently and quickly.

Affected Modules

  • IMAP - The settings for each mailbox may contain a Sieve configuration, so the IMAP module has been changed to allow the user to configure connection and authentication information.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/cypht-org/cypht/pull/569 **Author:** [@henrique-borba](https://github.com/henrique-borba) **Created:** 5/25/2022 **Status:** ✅ Merged **Merged:** 8/12/2022 **Merged by:** [@jasonmunro](https://github.com/jasonmunro) **Base:** `master` ← **Head:** `sieve-module` --- ### 📝 Commits (10+) - [`d6191bf`](https://github.com/cypht-org/cypht/commit/d6191bfe10e808379f88e58afa145de2892327d1) Sieve configuration for the IMAP accounts - [`43d00af`](https://github.com/cypht-org/cypht/commit/43d00afe3f4f43549e69426e6f0b15c9aeb15a5a) HM3 config file sieve module - [`b51830c`](https://github.com/cypht-org/cypht/commit/b51830cacc242fa01bd27841edf8d5105f47af99) Updated composer.json with Sieve dependencies - [`9c6767c`](https://github.com/cypht-org/cypht/commit/9c6767c1130f333332ffc4060f88615baabc8865) Sieve Module base script manager - [`37b3ef4`](https://github.com/cypht-org/cypht/commit/37b3ef422f50af36448165c07937560ef845e8bb) Final version of the script editor with priority and real time communication with sieve - [`e7a9cda`](https://github.com/cypht-org/cypht/commit/e7a9cda9068cc65d55268989d302b7d5266ba165) Tingle modal library and config gen update - [`66c3664`](https://github.com/cypht-org/cypht/commit/66c366427fa556677a44b63e7fc25b49e65e04f7) Merge branch 'master' into sieve-module - [`a1e7e3f`](https://github.com/cypht-org/cypht/commit/a1e7e3ff87d9f95c0783b9697cbddef016fe1ae5) IMAP update for sieve configuration - [`783b64a`](https://github.com/cypht-org/cypht/commit/783b64a211e55a28e1c6b30f499191e625996cd4) Merge remote-tracking branch 'origin/sieve-module' into sieve-module - [`ecbc061`](https://github.com/cypht-org/cypht/commit/ecbc061c291aae85bcc1e07da9f9d30644620590) Change ELSE condition location ### 📊 Changes **17 files changed** (+2896 additions, -7 deletions) <details> <summary>View changed files</summary> 📝 `composer.json` (+1 -1) 📝 `hm3.sample.ini` (+5 -0) 📝 `modules/core/output_modules.php` (+1 -0) 📝 `modules/imap/handler_modules.php` (+74 -3) 📝 `modules/imap/output_modules.php` (+31 -2) 📝 `modules/imap/setup.php` (+2 -0) 📝 `modules/imap/site.css` (+1 -0) 📝 `modules/imap/site.js` (+29 -1) ➕ `modules/sievefilters/README.md` (+3 -0) ➕ `modules/sievefilters/assets/spinner.gif` (+0 -0) ➕ `modules/sievefilters/assets/tingle.min.css` (+1 -0) ➕ `modules/sievefilters/modules.php` (+1465 -0) ➕ `modules/sievefilters/setup.php` (+148 -0) ➕ `modules/sievefilters/site.css` (+276 -0) ➕ `modules/sievefilters/site.js` (+855 -0) 📝 `scripts/config_gen.php` (+3 -0) ➕ `third_party/tingle.min.js` (+1 -0) </details> ### 📄 Description This PR adds a new module that allows the creation, construction and management of server side filters using Sieve and the ManageSieve protocol, enabling automatic filters and building the foundations for intelligent filter integration based on artificial intelligence executed directly by the Sieve service (see https://doc.dovecot.org/configuration_manual/sieve/plugins/extprograms/) ## Screenshots ![Screenshot_20220525_164840](https://user-images.githubusercontent.com/1107499/170355205-850e0818-39dd-43b9-b7d8-cf23ef18f667.png) ![Screenshot_20220525_165007](https://user-images.githubusercontent.com/1107499/170355401-d19a7d96-6762-4b2b-9d0f-f63df8962caf.png) ![Screenshot_20220527_103534](https://user-images.githubusercontent.com/1107499/170710101-212797c6-ce28-4591-aa4e-5cf0e2b6fe21.png) ![Screenshot_20220527_103631](https://user-images.githubusercontent.com/1107499/170710249-5966aa0d-412c-42d9-b194-4d8f36311854.png) ![Screenshot_20220527_103704](https://user-images.githubusercontent.com/1107499/170710357-fb3bd04b-754e-49f9-98cf-3d6db3423922.png) ## Dependencies Thinking of the native and minimalist code followed by Cypht, this change requires few external dependencies. The ManageSieve communication library was custom made to our needs and allows us to add capabilities more conveniently and quickly. - **henrique-borba/php-sieve-manager** - Native implementation of the ManageSieve protocol. Does the heavy lifting and transforms logical frameworks to generate valid Sieve scripts https://github.com/henrique-borba/php-sieve-manager - **ext-socket** - Already used ## Affected Modules - **IMAP** - The settings for each mailbox may contain a Sieve configuration, so the IMAP module has been changed to allow the user to configure connection and authentication information. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-25 21:36:34 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/cypht#898
No description provided.