Op 10-6-2016 om 0:57 schreef N0T3P4D:
Hi,
I use dovecot and sieve_extprograms to encrypt all incoming messages with the help of a Python script. Now, I want to process the _original_ message a second time. However, as expected, the second filter is applied to the already filtered message.
For reference, here's a copy of the sieve script in question:
if address :matches "To" "X@Y.Z" { fileinto "INBOX"; filter "gpgit.py" ["X@Y.Z", "--encrypt"]; fileinto "encrypted"; filter "gpgit.py" ["X@Y.Z", "--wrap"]; # Should be applied to the original message but uses the result of the first filter command fileinto "wrapped"; stop; }
Does anyone have an idea how to modify the script to get the intended result?
Please cc me, as I'm not subscribed.
The Sieve language currently has no means to manage several modified versions of a message in parallel; there is no means to revert back to an older version of a modified message. So, unfortunately, I see no way to implement a Sieve script like this at this time :/.
The only (ugly) solution I see is to use a pipe program rather than a filter program. The pipe program will then fork and filter the e-mail twice and store it into the required folders using doveadm.
Regards,
Stephan.