I am a pretty heavy user of Sieve, and one of the services where I have 
extensive Sieve scripts is Protonmail.  For my own mailserver setup, Dovecot's 
sieve-test has been excellent. I have a library of example email messages, and 
my own tooling setup for being able to test whether a given change has broken 
anything else unintentionally.  If it does, I can trace the decision tree.

With protonmail this has severe limitations.  Most of those scripts apply 
expire, and what the expire is can change as it passes through the filters. But 
I cannot test any of that with sieve-test because that extension is unique to 
them. I always have to strip it out of sieve first, and that doesn't help me 
understand what's happening.

I have some software engineering experience, so I was poking around at the 
pigeonhole source code, but since it's really focused on the RFC 
(understandably) there doesn't seem to be a friendly on-ramp to creating a 
one-off extension.

What I'd really like to do though is make some kind of custom extension to 
sieve-test specifically which would allow the user to define custom vendor 
plugins/modules and appropriate messages. After all, I don't need sieve-test to 
know how to expire a message, I just need it to not throw an error on the 
extension when it's loaded, and to inform me in the output that it would have 
applied the expire action to a given message with a given value.

I suspect the easiest way to do that is with a stubbed out extension that can 
handle that, but I'm open to other approaches that might work.

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
dovecot mailing list -- dovecot@dovecot.org
To unsubscribe send an email to dovecot-le...@dovecot.org

Reply via email to