Hi! The sieve scripts in global namespace don't work for any user unless that user explicitely includes the global sieve script in their own sieve script. You can't just create a global sieve script and expect it to apply for all your users; you're going to have to create a way to modify the sieve script of each user to include your global sieve script (should be easy with the excellent perl modules, see their documentation). And then there's always the option for your users to remove that include rule. For shared mailboxen, you can add an annotation. The name of the annotation is 'sieve' and the value is the name of the sieve script. See man Cyrus::IMAP::Admin, command mboxcfg, for how to add annotations. --Janne On Fri, Apr 19, 2013 at 12:14:22PM -0400, Shawn Bakhtiar wrote: > Good morning, > > > So...... > > in trying to figure this out this morning I did the following and was able to get mail filtered into techsupports SPAM folder, but I don't understand why the global sieve script does not do the same things > > Created the following sieve script file (sorry I just realized i have two requires with the same info at top :S): > > require ["fileinto"]; > require "fileinto"; > if exists "X-Spam-Flag" { > if header :contains "X-Spam-Flag" "NO" { > } else { > fileinto "user.techsupport.SPAM"; > stop; > } > } > if header :contains "From" "MAILER-DAEMON" > { > fileinto "INBOX.MAILER-DAEMON"; > } > if header :contains "From" "logwatch" > { > fileinto "INBOX.Server Logs"; > } > if header :contains "From" "root" > { > fileinto "INBOX.Server Logs"; > } > > > then: > > prompt> sieveshell -u techsupport localhost > connecting to localhost > Please enter your password: > > put techsupport.txt phpscript > > quit > > Now... the test emails are going into the right folder. > > Questions, should I not be able to add global sieve rules like such? > > > prompt> sieveshell localhost > connecting to localhost > Please enter your password: > > put techsupport.txt phpscript > > quit > > In my global sieve directory: /var/lib/imap/sieve/global > I have the following three files > > lrwxrwxrwx 1 cyrus mail 12 2013-04-19 08:27 defaultbc -> phpscript.bc > -rw------- 1 cyrus mail 184 2013-04-19 08:26 phpscript.bc > -rw------- 1 cyrus mail 194 2013-04-19 08:26 phpscript.script > > and the content of phpscript.script is: > > require "fileinto"; > if exists "X-Spam-Flag" { > if header :contains "X-Spam-Flag" "NO" { > } else { > fileinto "user.techsupport.SPAM"; > stop; > } > } > > > which is the one I created yesterday, and loaded using sieveshell. > > any help would be greatly appreciated. > > > > > > > > > > > > > > > > > > From: shashaness@xxxxxxxxxxx > To: info-cyrus@xxxxxxxxxxxxxxxxxxxx > Subject: Global Sieve script > Date: Wed, 17 Apr 2013 16:56:07 -0400 > > > > > Good afternoon all, > > I am trying to configure a global sieve script to move all incoming emails to a particular folder. According to the following link this should be a slam dunk: > > http://cyrusimap.web.cmu.edu/mediawiki/index.php/Cyrus_Sieve > > http://oregonstate.edu/helpdocs/e-mail/onid-e-mail/modifying-your-email-filters-using-sieveshell > > So here is what I did: > > [shawn@postoffice ~]$ sieveshell -u shawn localhost > connecting to localhost > Please enter your password: > > list > phpscript <- active script > > get phpscript phpscript.txt > > exit > > [shawn@postoffice ~]$ more phpscript.txt > # This script has been automatically generated by avelsieve > # (Sieve Mail Filters Plugin for Squirrelmail) > # Warning: If you edit this manually, then the changes will not > # be reflected in the users' front-end! > #AVELSIEVE_VERSIONYTo0OntzOjU6Im1ham9yIjtpOjE7czo1OiJtaW5vciI7aTo5O3M6NzoicmVsZWFzZSI7aTo5O3M6Njoic3 > RyaW5nIjtzOjU6IjEuOS45Ijt9 > #AVELSIEVE_CREATED1342104019 > #AVELSIEVE_MODIFIED1351180357 > require ["fileinto","envelope","reject","vacation","imapflags","relational","comparator-i;ascii-nume > ric","regex","notify"]; > #START_SIEVE_RULEYTo1OntzOjQ6ImNvbmQiO2E6MTp7aTowO2E6NTp7czo0OiJraW5kIjtzOjc6Im1lc3NhZ2UiO3M6NDoidHl > wZSI7czo2OiJoZWFkZXIiO3M6NjoiaGVhZGVyIjtzOjExOiJYLVNwYW0tRmxhZyI7czo5OiJtYXRjaHR5cGUiO3M6MjoiaXMiO3M > 6MTE6ImhlYWRlcm1hdGNoIjtzOjM6IllFUyI7fX1zOjQ6InR5cGUiO3M6MToiMSI7czo5OiJjb25kaXRpb24iO3M6MzoiYW5kIjt > zOjY6ImFjdGlvbiI7czoxOiI1IjtzOjY6ImZvbGRlciI7czoxMDoiSU5CT1guU1BBTSI7fQ%3D%3DEND_SIEVE_RULE > if header :is "X-Spam-Flag" "YES" > { > fileinto "INBOX.SPAM"; > } > > > At this point I am a little baffled, since this should be moving all X-Spam-Flag that are YES into a folder INBOX.SPAM which does not exists at the top level (although I assume this means it should be filtered into each users individual SPAM folder). I am using Squirrelmail as a web based from end for my remote users and imagine the package manager must have installed this at some point. To simplify my life I re-wrote the script as: > > require ["fileinto","envelope","reject","vacation","imapflags","relational","comparator-i;ascii-nume > ric","regex","notify"]; > if exists "X-Spam-Flag" { > if header :contains "X-Spam-Flag" "YES" > { > fileinto "user.techsupport.SPAM"; > stop; > } > } > > then > > [shawn@postoffice ~]$ sieveshell -u shawn localhost > connecting to localhost > Please enter your password: > > put phpscript.txt phpscript > > list > phpscript <- active script > > quit > > > However, users are still receiving emails marked as SPAM in their inbox. What I am trying to do is make it so that any and all emails marked as SPAM are redirected to a single folder called SPAM in the techsupport users mail store. > > Any help is greatly appreciated, > Shawn > > > > > > > > > > > > > require "fileinto"; > if exists "X-Spam-Flag" { > if header :contains "X-Spam-Flag" "NO" { > } else { > fileinto "user.techsupport.SPAM"; > stop; > } > } > > > ---- > Cyrus Home Page: http://www.cyrusimap.org/ > List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/ > To Unsubscribe: > https://lists.andrew.cmu.edu/mailman/listinfo/info-cyrus -- Janne Peltonen <janne.peltonen@xxxxxxxxxxx> PGP Key ID: 0x9CFAC88B Please consider membership of the Hospitality Club (http://www.hospitalityclub.org) ---- Cyrus Home Page: http://www.cyrusimap.org/ List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/ To Unsubscribe: https://lists.andrew.cmu.edu/mailman/listinfo/info-cyrus