New MM3 plugin: mailman_sieve
Hello,
I have published a new Mailman 3 plugin at https://mail.aegee.org/cgit/mailman_sieve/tree/ . It generates for each mailing list a Sieve script. When the Sieve script is evaluated during the SMTP dialog, it would reject some emails, which otherwise would be bounced by Mailman. Less bounces means less backscatters and better IP reputation.
For the record, I do the evaluation of the Sieve scripts during the SMTP dialog with https://mail.aegee.org/cgit/aegee-milter . Since the latter is not documented yet, you cannot use it. The mailman_sieve plugin is not useful, unless you have software to evaluate the Sieve Scripts during the SMTP dialog.
This is a very first version, which does what it is supposed to do. Some optimizations are possible, like not including the subscriber addresses in the Sieve scripts for announce-only mailing lists. I am not good at writing setuptools configuration. Neither do I understand the mailman system very good right now, creating possibly shorter scripts. But the plugin is there to keep by IP reputation good!
See https://mail.aegee.org/cgit/mailman_sieve/tree/README.md .
My reading of the mm3 source code is that there is no event triggered, when the mailing list configuration changes, like adding a new moderator, or switching the announce-only status. In the lack of such event triggers, the Sieve scripts are not updated.
When the code improves, the plugin could be published in PyPi or in mailman/contrib .
Greetings Дилян
On Mar 10, 2022, at 05:04, Дилян Палаузов <dpa-mailman@aegee.org> wrote:
Hello,
I have published a new Mailman 3 plugin at https://mail.aegee.org/cgit/mailman_sieve/tree/ . It generates for each mailing list a Sieve script. When the Sieve script is evaluated during the SMTP dialog, it would reject some emails, which otherwise would be bounced by Mailman. Less bounces means less backscatters and better IP reputation.
For the record, I do the evaluation of the Sieve scripts during the SMTP dialog with https://mail.aegee.org/cgit/aegee-milter . Since the latter is not documented yet, you cannot use it. The mailman_sieve plugin is not useful, unless you have software to evaluate the Sieve Scripts during the SMTP dialog.
This is a very first version, which does what it is supposed to do. Some optimizations are possible, like not including the subscriber addresses in the Sieve scripts for announce-only mailing lists. I am not good at writing setuptools configuration.
Looking at your repo, I think you’ve got all of the things right. You could keep everything in pyproject.toml though and remove setup.cfg since pyproject.toml is the new standard thing with Python packaging.
Neither do I understand the mailman system very good right now,
Also, feel free to ask questions on this list for something that you need help with :-)
creating possibly shorter scripts. But the plugin is there to keep by IP reputation good!
See https://mail.aegee.org/cgit/mailman_sieve/tree/README.md .
This is nice!
My reading of the mm3 source code is that there is no event triggered, when the mailing list configuration changes, like adding a new moderator, or switching the announce-only status. In the lack of such event triggers, the Sieve scripts are not updated.
Please feel free to file issues in Gitlab for the events that you think that might be useful for this. Also, MRs are welcome ofcourse too!
I’ve been thinking about ways to extend our event system beyond just the Core so, having more events emitted when the List’s configuration is updated and/or ownership change would be good to have for that use case too. Hyperkitty can fetch updates from Core using those and/or Postorius can cache certain data internally and events could invalidate them.
-- thanks, Abhilash Raj (maxking)
participants (2)
-
Abhilash Raj
-
Дилян Палаузов