On 16.02.2018 04:36, @lbutlr wrote:
> Before I spend a lot of time trying to replicate a procmail script that 
> automatically sorts list mail into mailboxes based on the List-ID header (and 
> possibly some other data) I thought I'd check if someone had already done 
> this for sieve.
>
> Basically, what I do now in procmail is
>
> 1. Get the listname from the List-ID header (or List-post/List-owner if no ID)
>
> 2. check against a list of list-ids and if the ID is not on the list, send it 
> to spamc and put the message (if not spam) in the INBOX but mark it as seen, 
> otherwise put it in Junk.
>
> 3. have some list specific rules (like rewriting reply-to, stripping 
> subjected tags, etc.
>
> 4. Drop message in mailbox based no the ID.
>
> (so, dovecot mail goes into .dovecot/new but RandomFakelist gets scanned for 
> spam and if it passes, marked read and put in the inbox).
>
> I've seen things like:
>
> if exists "List-Id" {
>   if header :contains "List-Id" "dovecot.dovecot.org" {
>     fileinto "dovecot";
>   } elsif header :contains "List-Id" "others-list.example.com" {
>     fileinto "other-list";
> }
>
> But I am looking for something more generic, along the lines of
>
> $myLists = {"dovecot", "postfix", "other-list")
> if header :contains "List-ID" "<([^\.])+." { $myID $1; }
> if $myList :contains $myID { 
>   if { $myID is other-list {
>      set $myID to Olist;
>      set header "reply-to" to "moderator@users+ot...@foo.example.net";
>   }
> fileinto $myID;
>
> } else {
>   send message to spamc and await results;
>   if spam {fileinto "Junk";} else {fileinto "INBOX";}
>
> (obviously that's not the code, but it should give an idea of the sorts of 
> things I want to do and would rather not entirely duplicate.
>
> Obviously, I don't know if sieve does variables at all (none of the few 
> example scripts I've looked at have them, but then again most procamil 
> scripts don't have them either).
>
>
> Does sieve support that sort of matching?

Hi!

you can use regular expressions with sieve, see
https://wiki2.dovecot.org/Pigeonhole/Sieve/Examples

Aki

Reply via email to