Am Samstag, 30. Juni 2018, 11:28:43 CEST schrieb Lukas:
> Hi everybody!
>
> I manage a mail server running Dovecot 2.2.21 with Pigeonhole 0.4.10. I
> successfully configured sieve and use it also to filter some spam messages.
> Here is one of the script I use to filter messages on the basis of prohibited
> words in message body.
>
> As you can see, the last command writes to the log the action of this script.
>
>
> -- the script begins ------------
>
> require ["fileinto", "imap4flags", "editheader", "body",
> "vnd.dovecot.debug"];
>
> if anyof (
>
> body :text :contains "crypto",
> body :text :contains "sex",
> body :text :contains "viagra"
> )
> {
> setflag "\\Seen";
> addheader :last "X-Sieve-Filtered" "blocked words in message body";
> fileinto "INBOX.Spam";
> debug_log "Body contains blocked word: <the matching word>";
> }
>
> -- the script ends --------------
>
>
> MY QUESTION: is there a way to have also the result of the match in that log
> message? I mean, is it possible to have that "<the matching word>"
> substituted with the exact word that matched one of the conditions (more or
> less the same way it is possible using Exim's System Filter)? I googled and
> searched a lot Dovecot documentation but wasn't able to find a definite YES
> or NO to this question.
You could make a separate rule for each of the words which should be blocked...
Volker