Re: Sieve for shared mailboxes
Thanks Nic that looks useful Unfortunately ‘info' doesn’t seem to function on our installation: localhost> lm shared/mbujobs shared/mbujobs (\HasChildren) localhost> lam shared/mbujobs jt lrswipkxtecda merlin lrs anonymous p ij lrswipkxtecda localhost> info shared/mbujobs localhost> localhost> exit Also doesn’t seem able to set or retrieve info from the server: localhost> setinfo comment MBU mail server localhost> info localhost> For clarity I was using the local ‘cyrus’ user who is listed as an admin in imapd.conf - I have also tried with ‘merlin’ (me) - no dice... [root@mercury ~]# cyradm -U merlin localhost verify error:num=19:self signed certificate in certificate chain IMAP Password: localhost> lam user/merlin merlin lrswipcda localhost> lam shared/mbujobs jt lrswipkxtecda merlin lrswipkxtecda anonymous p ij lrswipkxtecda cyrus lrswipkxtecda localhost> mboxcfg shared/mbujobs sieve mbujobs localhost> info shared/mbujobs localhost> info localhost> -- Merlin Hartley IT Systems Engineer MRC Mitochondrial Biology Unit Cambridge, CB2 0XY United Kingdom > On 6 Apr 2016, at 12:41, Nic Bernstein <n...@onlight.com > <mailto:n...@onlight.com>> wrote: > > On 03/18/2016 05:48 AM, Merlin Hartley via Info-cyrus wrote: >> ... >> Of course, over-time more complexity is always required and I have recently >> implemented a few shared mailboxes (rather than just sharing user mailboxes). >> Inevitably, the users are now asking for an auto-reply to be configured for >> some of these shared mailboxes… >> >> We are already using sieve scripts (managed with Roundcubemail talking >> through the firewall to timsieved) so it seems natural to use this >> technology here too... >> >> I have followed the instructions on this page: >> https://cyrusimap.org/imap/admin/sieve.html?highlight=sieve#managing-sieve-scripts >> >> <https://cyrusimap.org/imap/admin/sieve.html?highlight=sieve#managing-sieve-scripts> >> >> But the last step doesn’t seem to do anything… >> >> So I have a few related questions: >> >> 1) how can I query a mailbox to read the flags set by mboxconfig? > > Use the 'info' command in cyradm, like so: > root@mail:~# /usr/lib/cyrus/bin/cyradm -U cyrus localhost > Password: > > localhost> info tech.support > {tech.support}: > duplicatedeliver: false > lastpop: > lastupdate: 6-Apr-2016 04:01:01 -0500 > partition: default > pop3newuidl: true > sharedseen: false > sieve: global > size: 801640500 > > localhost> quit > Note the "sieve: global" line. > >> 2) has anyone got sieve working with shared mailboxes? > > Yes, happily and consistently, currently with 2.4.10, and up, on various > installations. > >> 3) is it possible to invoke a sieveshell in the context of a shared mailbox? > > "...context of a shared mailbox..." doesn't really mean anything here. You > must do it as a user who has access to the shared mailbox, as the page on the > website explains. > >> I seem to have successfully created the global scripts (a ‘global’ folder >> has appeared in the sievedir) - just can’t seem to attach it to a shared >> mailbox. > > Take a look at the output of the 'info' command in cyradm, and if it doesn't > make sense, please post again. > > In my experience, the most common cause of problems with sieve and shared > mailboxes is bad scripts. > > Cheers, > -nic > -- > Nic Bernstein n...@onlight.com > <mailto:n...@onlight.com> > Onlight Inc. www.onlight.com > <http://www.onlight.com/> > 6525 W Bluemound Rd., Ste 24v. 414.272.4477 > Milwaukee, Wisconsin 53213-4073f. 414.290.0335 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
Re: Sieve for shared mailboxes
On 03/18/2016 05:48 AM, Merlin Hartley via Info-cyrus wrote: ... Of course, over-time more complexity is always required and I have recently implemented a few shared mailboxes (rather than just sharing user mailboxes). Inevitably, the users are now asking for an auto-reply to be configured for some of these shared mailboxes... We are already using sieve scripts (managed with Roundcubemail talking through the firewall to timsieved) so it seems natural to use this technology here too... I have followed the instructions on this page: https://cyrusimap.org/imap/admin/sieve.html?highlight=sieve#managing-sieve-scripts But the last step doesn't seem to do anything... So I have a few related questions: 1) how can I query a mailbox to read the flags set by mboxconfig? Use the 'info' command in cyradm, like so: root@mail:~# /usr/lib/cyrus/bin/cyradm -U cyrus localhost Password: localhost> info tech.support {tech.support}: duplicatedeliver: false lastpop: lastupdate: 6-Apr-2016 04:01:01 -0500 partition: default pop3newuidl: true sharedseen: false * sieve: global* size: 801640500 localhost> quit Note the "sieve: global" line. 2) has anyone got sieve working with shared mailboxes? Yes, happily and consistently, currently with 2.4.10, and up, on various installations. 3) is it possible to invoke a sieveshell in the context of a shared mailbox? "...context of a shared mailbox..." doesn't really mean anything here. You must do it as a user who has access to the shared mailbox, as the page on the website explains. I seem to have successfully created the global scripts (a 'global' folder has appeared in the sievedir) - just can't seem to attach it to a shared mailbox. Take a look at the output of the 'info' command in cyradm, and if it doesn't make sense, please post again. In my experience, the most common cause of problems with sieve and shared mailboxes is bad scripts. Cheers, -nic -- Nic Bernstein n...@onlight.com Onlight Inc. www.onlight.com 6525 W Bluemound Rd., Ste 24 v. 414.272.4477 Milwaukee, Wisconsin 53213-4073 f. 414.290.0335 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
Re: Sieve for shared mailboxes
We don't use shared mailboxes or non-user sieve at all at FastMail, so it gets less testing than most things. I'd love to have contributions of good test cases to Cassandane from someone who knows exactly how this should work so we can make sieve good for the shared case too. It's somewhat tricky now that FastMail is sponsoring the bulk of Cyrus work, obviously the stuff we use gets the most love! Cheers, Bron. On Fri, Mar 18, 2016, at 23:30, Alvin Starr via Info-cyrus wrote: > I have had mixed luck with direct mailbox delivery(+ addressing) and > when I say mixed I mean mostly bad. > I wanted to try using it for direct delivery of copies of all sent > messages. > I found I needed special permissions on all the mailboxes and > duplicate delivery detection would not work in that configuration. > So I dropped it. > > My guess would be that you may need to setup a shared mailbox or > group mail account that would process the mail into the shared > mailbox and then you could use sieve. > > > > > On 03/18/2016 07:35 AM, Merlin Hartley wrote: >> Sorry I wasn’t clear: we are using an alias with +plus addressing and >> lmtp to deliver into the shared mailbox >> I have the shared mailbox working just fine… it is only the sieve on >> shared mailboxes that is failing... >> >> >> aliases file: >> mbujobs: +shared/mbujobs >> >> exim router: >> imap_shared_accept: >> driver = accept >> local_parts = ^\\+[^/]+/.+ >> transport = local_delivery_cyrus >> cannot_route_message = Unknown user >> >> exit transport: >> local_delivery_cyrus: >> driver = lmtp >> socket = /var/lib/imap/socket/lmtp >> batch_max = 20 >> user = cyrus >> group = mail >> transport_filter = /usr/bin/tr -d \\000 >> delivery_date_add >> envelope_to_add >> return_path_add >> >> -- >> Merlin Hartley >> IT Systems Engineer >> MRC Mitochondrial Biology Unit >> Cambridge, CB2 0XY >> United Kingdom >> >>> On 18 Mar 2016, at 11:29, Alvin Starr via Info-cyrus >> cy...@lists.andrew.cmu.edu> wrote: >>> >>> Sieve is run as part of the mail delivery into the mailbox. >>> That would either be deliver or the lmtp interface. >>> >>> If your users are dragging and dropping the messages into the >>> shared mailboxes then I don't believe that you can have sieve run >>> on the mbox to mbox transfer. >>> >>> >>> >>> On 03/18/2016 06:48 AM, Merlin Hartley via Info-cyrus wrote: >>>> Greetings >>>> >>>> I have been managing our mail domain on a cyrus-imap () server >>>> since 2005 and it has always been great for our ~150 users. >>>> >>>> Of course, over-time more complexity is always required and I have >>>> recently implemented a few shared mailboxes (rather than just >>>> sharing user mailboxes). >>>> Inevitably, the users are now asking for an auto-reply to be >>>> configured for some of these shared mailboxes… >>>> >>>> We are already using sieve scripts (managed with Roundcubemail >>>> talking through the firewall to timsieved) so it seems natural to >>>> use this technology here too... >>>> >>>> I have followed the instructions on this page: >>>> https://cyrusimap.org/imap/admin/sieve.html?highlight=sieve#managing-sieve-scripts >>>> >>>> But the last step doesn’t seem to do anything… >>>> >>>> So I have a few related questions: >>>> >>>> 1) how can I query a mailbox to read the flags set by mboxconfig? >>>> 2) has anyone got sieve working with shared mailboxes? >>>> 3) is it possible to invoke a sieveshell in the context of a shared >>>>mailbox? >>>> >>>> I seem to have successfully created the global scripts (a ‘global’ >>>> folder has appeared in the sievedir) - just can’t seem to attach it >>>> to a shared mailbox. >>>> >>>> Many thanks! >>>> >>>> >>>> Merlin >>>> >>>> >>>> P.S. Here is some relevant server info: >>>> >>>> [root@mercury merlin]# sieveshell -u cyrus -a cyrus localhost >>>> connecting to localhost >>>> Please enter your password: >>>> > list >>>> mbu_jobs <- active script >>>> >>>> [root@mercury ~]# ls /var/lib/imap/sieve/global/ >>>> *defaultbc* mbu_jobs.bc mu_jobs.script >>>
Re: Sieve for shared mailboxes
Sorry I wasn’t clear: we are using an alias with +plus addressing and lmtp to deliver into the shared mailbox I have the shared mailbox working just fine… it is only the sieve on shared mailboxes that is failing... aliases file: mbujobs: +shared/mbujobs exim router: imap_shared_accept: driver = accept local_parts = ^\\+[^/]+/.+ transport = local_delivery_cyrus cannot_route_message = Unknown user exit transport: local_delivery_cyrus: driver = lmtp socket = /var/lib/imap/socket/lmtp batch_max = 20 user = cyrus group = mail transport_filter = /usr/bin/tr -d \\000 delivery_date_add envelope_to_add return_path_add -- Merlin Hartley IT Systems Engineer MRC Mitochondrial Biology Unit Cambridge, CB2 0XY United Kingdom > On 18 Mar 2016, at 11:29, Alvin Starr via Info-cyrus > <info-cyrus@lists.andrew.cmu.edu> wrote: > > Sieve is run as part of the mail delivery into the mailbox. > That would either be deliver or the lmtp interface. > > If your users are dragging and dropping the messages into the shared > mailboxes then I don't believe that you can have sieve run on the mbox to > mbox transfer. > > > On 03/18/2016 06:48 AM, Merlin Hartley via Info-cyrus wrote: >> Greetings >> >> I have been managing our mail domain on a cyrus-imap () server since >> 2005 and it has always been great for our ~150 users. >> >> Of course, over-time more complexity is always required and I have recently >> implemented a few shared mailboxes (rather than just sharing user mailboxes). >> Inevitably, the users are now asking for an auto-reply to be configured for >> some of these shared mailboxes… >> >> We are already using sieve scripts (managed with Roundcubemail talking >> through the firewall to timsieved) so it seems natural to use this >> technology here too... >> >> I have followed the instructions on this page: >> https://cyrusimap.org/imap/admin/sieve.html?highlight=sieve#managing-sieve-scripts >> >> <https://cyrusimap.org/imap/admin/sieve.html?highlight=sieve#managing-sieve-scripts> >> >> But the last step doesn’t seem to do anything… >> >> So I have a few related questions: >> >> 1) how can I query a mailbox to read the flags set by mboxconfig? >> 2) has anyone got sieve working with shared mailboxes? >> 3) is it possible to invoke a sieveshell in the context of a shared mailbox? >> >> I seem to have successfully created the global scripts (a ‘global’ folder >> has appeared in the sievedir) - just can’t seem to attach it to a shared >> mailbox. >> >> Many thanks! >> >> >> Merlin >> >> >> P.S. Here is some relevant server info: >> >> [root@mercury merlin]# sieveshell -u cyrus -a cyrus localhost >> connecting to localhost >> Please enter your password: >> > list >> mbu_jobs <- active script >> >> [root@mercury ~]# ls /var/lib/imap/sieve/global/ >> defaultbc mbu_jobs.bc mu_jobs.script >> >> [root@mercury ~]# cyrus-admin >> verify error:num=19:self signed certificate in certificate chain >> localhost> mboxconfig shared/mbujobs sieve mbu_jobs >> localhost> >> >> [root@mercury ~]# yum list cyrus-imapd >> Installed Packages >> cyrus-imapd.x86_64 2.5.0-4.9 >> @cyrus-imapd_2.5.x >> (which is a Kolab repository I installed onto my CentOS 6 server) >> >> [root@mercury ~]# uname -a >> Linux mercury.mrc-mbu.cam.ac.uk <http://mercury.mrc-mbu.cam.ac.uk/> >> 2.6.32-573.18.1.el6.x86_64 #1 SMP Tue Feb 9 22:46:17 UTC 2016 x86_64 x86_64 >> x86_64 GNU/Linux >> >> -- >> Merlin Hartley >> IT Systems Engineer >> MRC Mitochondrial Biology Unit >> Cambridge, CB2 0XY >> United Kingdom >> >> >> >> >> Cyrus Home Page: http://www.cyrusimap.org/ <http://www.cyrusimap.org/> >> List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/ >> <http://lists.andrew.cmu.edu/pipermail/info-cyrus/> >> To Unsubscribe: >> https://lists.andrew.cmu.edu/mailman/listinfo/info-cyrus >> <https://lists.andrew.cmu.edu/mailman/listinfo/info-cyrus> > -- > Alvin Starr || voice: (905)513-7688 > Netvel Inc. || Cell: (416)806-0133 > al...@netvel.net <mailto:al...@netvel.net> || > > 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 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
Re: Sieve for shared mailboxes
I have had mixed luck with direct mailbox delivery(+ addressing) and when I say mixed I mean mostly bad. I wanted to try using it for direct delivery of copies of all sent messages. I found I needed special permissions on all the mailboxes and duplicate delivery detection would not work in that configuration. So I dropped it. My guess would be that you may need to setup a shared mailbox or group mail account that would process the mail into the shared mailbox and then you could use sieve. On 03/18/2016 07:35 AM, Merlin Hartley wrote: Sorry I wasn’t clear: we are using an alias with +plus addressing and lmtp to deliver into the shared mailbox I have the shared mailbox working just fine… it is only the sieve on shared mailboxes that is failing... aliases file: mbujobs: +shared/mbujobs exim router: imap_shared_accept: driver = accept local_parts = ^\\+[^/]+/.+ transport = local_delivery_cyrus cannot_route_message = Unknown user exit transport: local_delivery_cyrus: driver= lmtp socket = /var/lib/imap/socket/lmtp batch_max= 20 user = cyrus group = mail transport_filter = /usr/bin/tr -d \\000 delivery_date_add envelope_to_add return_path_add -- Merlin Hartley IT Systems Engineer MRC Mitochondrial Biology Unit Cambridge, CB2 0XY United Kingdom On 18 Mar 2016, at 11:29, Alvin Starr via Info-cyrus <info-cyrus@lists.andrew.cmu.edu <mailto:info-cyrus@lists.andrew.cmu.edu>> wrote: Sieve is run as part of the mail delivery into the mailbox. That would either be deliver or the lmtp interface. If your users are dragging and dropping the messages into the shared mailboxes then I don't believe that you can have sieve run on the mbox to mbox transfer. On 03/18/2016 06:48 AM, Merlin Hartley via Info-cyrus wrote: Greetings I have been managing our mail domain on a cyrus-imap () server since 2005 and it has always been great for our ~150 users. Of course, over-time more complexity is always required and I have recently implemented a few shared mailboxes (rather than just sharing user mailboxes). Inevitably, the users are now asking for an auto-reply to be configured for some of these shared mailboxes… We are already using sieve scripts (managed with Roundcubemail talking through the firewall to timsieved) so it seems natural to use this technology here too... I have followed the instructions on this page: https://cyrusimap.org/imap/admin/sieve.html?highlight=sieve#managing-sieve-scripts But the last step doesn’t seem to do anything… So I have a few related questions: 1) how can I query a mailbox to read the flags set by mboxconfig? 2) has anyone got sieve working with shared mailboxes? 3) is it possible to invoke a sieveshell in the context of a shared mailbox? I seem to have successfully created the global scripts (a ‘global’ folder has appeared in the sievedir) - just can’t seem to attach it to a shared mailbox. Many thanks! Merlin P.S. Here is some relevant server info: [root@mercury merlin]# sieveshell -u cyrus -a cyrus localhost connecting to localhost Please enter your password: > list mbu_jobs <- active script [root@mercury ~]# ls /var/lib/imap/sieve/global/ *defaultbc* mbu_jobs.bc mu_jobs.script [root@mercury ~]# cyrus-admin verify error:num=19:self signed certificate in certificate chain localhost> mboxconfig shared/mbujobs sieve mbu_jobs localhost> [root@mercury ~]# yum list cyrus-imapd Installed Packages cyrus-imapd.x86_64 2.5.0-4.9 @cyrus-imapd_2.5.x (which is a Kolab repository I installed onto my CentOS 6 server) [root@mercury ~]# uname -a Linux mercury.mrc-mbu.cam.ac.uk <http://mercury.mrc-mbu.cam.ac.uk/> 2.6.32-573.18.1.el6.x86_64 #1 SMP Tue Feb 9 22:46:17 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux -- Merlin Hartley IT Systems Engineer MRC Mitochondrial Biology Unit Cambridge, CB2 0XY United Kingdom 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 -- Alvin Starr || voice: (905)513-7688 Netvel Inc. || Cell: (416)806-0133 al...@netvel.net || 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 -- Alvin Starr || voice: (905)513-7688 Netvel Inc. || Cell: (416)806-0133 al...@netvel.net || 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
Re: Sieve for shared mailboxes
Sieve is run as part of the mail delivery into the mailbox. That would either be deliver or the lmtp interface. If your users are dragging and dropping the messages into the shared mailboxes then I don't believe that you can have sieve run on the mbox to mbox transfer. On 03/18/2016 06:48 AM, Merlin Hartley via Info-cyrus wrote: Greetings I have been managing our mail domain on a cyrus-imap () server since 2005 and it has always been great for our ~150 users. Of course, over-time more complexity is always required and I have recently implemented a few shared mailboxes (rather than just sharing user mailboxes). Inevitably, the users are now asking for an auto-reply to be configured for some of these shared mailboxes… We are already using sieve scripts (managed with Roundcubemail talking through the firewall to timsieved) so it seems natural to use this technology here too... I have followed the instructions on this page: https://cyrusimap.org/imap/admin/sieve.html?highlight=sieve#managing-sieve-scripts But the last step doesn’t seem to do anything… So I have a few related questions: 1) how can I query a mailbox to read the flags set by mboxconfig? 2) has anyone got sieve working with shared mailboxes? 3) is it possible to invoke a sieveshell in the context of a shared mailbox? I seem to have successfully created the global scripts (a ‘global’ folder has appeared in the sievedir) - just can’t seem to attach it to a shared mailbox. Many thanks! Merlin P.S. Here is some relevant server info: [root@mercury merlin]# sieveshell -u cyrus -a cyrus localhost connecting to localhost Please enter your password: > list mbu_jobs <- active script [root@mercury ~]# ls /var/lib/imap/sieve/global/ *defaultbc* mbu_jobs.bc mu_jobs.script [root@mercury ~]# cyrus-admin verify error:num=19:self signed certificate in certificate chain localhost> mboxconfig shared/mbujobs sieve mbu_jobs localhost> [root@mercury ~]# yum list cyrus-imapd Installed Packages cyrus-imapd.x86_64 2.5.0-4.9 @cyrus-imapd_2.5.x (which is a Kolab repository I installed onto my CentOS 6 server) [root@mercury ~]# uname -a Linux mercury.mrc-mbu.cam.ac.uk <http://mercury.mrc-mbu.cam.ac.uk> 2.6.32-573.18.1.el6.x86_64 #1 SMP Tue Feb 9 22:46:17 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux -- Merlin Hartley IT Systems Engineer MRC Mitochondrial Biology Unit Cambridge, CB2 0XY United Kingdom 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 -- Alvin Starr || voice: (905)513-7688 Netvel Inc. || Cell: (416)806-0133 al...@netvel.net || 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
Sieve for shared mailboxes
Greetings I have been managing our mail domain on a cyrus-imap () server since 2005 and it has always been great for our ~150 users. Of course, over-time more complexity is always required and I have recently implemented a few shared mailboxes (rather than just sharing user mailboxes). Inevitably, the users are now asking for an auto-reply to be configured for some of these shared mailboxes… We are already using sieve scripts (managed with Roundcubemail talking through the firewall to timsieved) so it seems natural to use this technology here too... I have followed the instructions on this page: https://cyrusimap.org/imap/admin/sieve.html?highlight=sieve#managing-sieve-scripts But the last step doesn’t seem to do anything… So I have a few related questions: 1) how can I query a mailbox to read the flags set by mboxconfig? 2) has anyone got sieve working with shared mailboxes? 3) is it possible to invoke a sieveshell in the context of a shared mailbox? I seem to have successfully created the global scripts (a ‘global’ folder has appeared in the sievedir) - just can’t seem to attach it to a shared mailbox. Many thanks! Merlin P.S. Here is some relevant server info: [root@mercury merlin]# sieveshell -u cyrus -a cyrus localhost connecting to localhost Please enter your password: > list mbu_jobs <- active script [root@mercury ~]# ls /var/lib/imap/sieve/global/ defaultbc mbu_jobs.bc mu_jobs.script [root@mercury ~]# cyrus-admin verify error:num=19:self signed certificate in certificate chain localhost> mboxconfig shared/mbujobs sieve mbu_jobs localhost> [root@mercury ~]# yum list cyrus-imapd Installed Packages cyrus-imapd.x86_64 2.5.0-4.9 @cyrus-imapd_2.5.x (which is a Kolab repository I installed onto my CentOS 6 server) [root@mercury ~]# uname -a Linux mercury.mrc-mbu.cam.ac.uk 2.6.32-573.18.1.el6.x86_64 #1 SMP Tue Feb 9 22:46:17 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux -- Merlin Hartley IT Systems Engineer MRC Mitochondrial Biology Unit Cambridge, CB2 0XY United Kingdom 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
Re: Sieve filtering shared mailboxes (bb+xxx)
You have perfectly reason, infact i have many publicmanager so i can delegate the sieve script administration to a capable user and forget about it. Example: if you have 50+ public folders relative to 10 departements, you have to find 10 users, one for each departement as admin of the filtering script. At the end you'll have 10 special users: salespublicmanager prpublicmanager finanacepublicmanager hrpublicmanager etc. etc. You can set up the squirrelmail web front end to sieve to make things easier for your users. You can give to publicmanagers also the lcr permission to managers and delegate also the decisions about internal structure of public folders. Don't know if this helps, but that's how i managed the problem. Bye Gilles Bruno wrote: I also though about this workaround, halas there are so many shared folders (50+) that this solution would become quickly hard to maintain :/ Apparently you're facing the same problem : it seems there aren't any ways to filter shared mailboxes out of the box ( no joke here ;) ) For example if you want your publicmanager to filter 2 separate shared folders, you'll face this dilemna : . (make your MTA aliases bla and foo - publicmanager) . users of bb+bla want emails coming from [EMAIL PROTECTED] to be posted (moved) under bb+bla.XX (a simple fileinto so far) . at the same time users of bb+foo want emails also coming from [EMAIL PROTECTED] to be posted under bb+foo.XX you'll have to make/manage many cases in publicmanager's sieve script The other drawback of this solution is that *you* have to manage the whole script (parts of it can't be delegated)... Furthermore, *IIRC* sieve scripts can't be nested (if I understand RFC3028 § 2.10.7, sieve implementation must support at least fifteen levels of nested test list), for example : IF condition A then IF condition B then action FI ELSE FI doesn't seem applicable (no test inside another test) - which of course (if my assumption about nested tests is true) tend to make the script more complicated :/ I'll dig further... Thanx paolo Best regards, --- Cyrus Home Page: http://asg.web.cmu.edu/cyrus Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
Re: Sieve filtering shared mailboxes (bb+xxx)
Hi there I had this exigence some month ago, and i found this workaround for filtering public folders. To filter emails directed to public folder i created a special user account publicmanager, so i configured the aliases in MTA to send all mails directed to public folders to user publicmanager, then i setted for this user a sieve script that posts each message in the appropriate public folder (and subfolder, of course). This is a stupid setup but it works so well. Obviously the user publicmanager must have p permission on each public folder and subfolder. Let me know if this helps. Bye Paolo Gilles Bruno wrote: Hello, i've just a simple question about sieve filtering shared (bb+) mailboxes: until now, we only used sieve script for user mailboxes (user.xxx), but with the increasing used of shared mailboxes (w/acl), there's a growing demand for sieve scripting... Google-ing/digging the list, I just found messages (Re: System-wide sieve filter - 06/18/2004) argueing there were currently no way to implement wide (not user related) sieve scripts Can anyone confirm this ? Any clues out there ? TIA. PS. we're running Cyrus 2.2.10 + Sieve 2.2 + sendmail 8.12.8p1 on FreeBSD 4.8/10 boxes. --- Cyrus Home Page: http://asg.web.cmu.edu/cyrus Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
Re: Sieve filtering shared mailboxes (bb+xxx)
Hi paolo, Paolo Negri wrote on 24/01/2005 08:51: Hi there I had this exigence some month ago, and i found this workaround for filtering public folders. To filter emails directed to public folder i created a special user account publicmanager, so i configured the aliases in MTA to send all mails directed to public folders to user publicmanager, then i setted for this user a sieve script that posts each message in the appropriate public folder (and subfolder, of course). This is a stupid setup but it works so well. Obviously the user publicmanager must have p permission on each public folder and subfolder. Let me know if this helps. Bye Paolo Gilles Bruno wrote: Hello, i've just a simple question about sieve filtering shared (bb+) mailboxes: until now, we only used sieve script for user mailboxes (user.xxx), but with the increasing used of shared mailboxes (w/acl), there's a growing demand for sieve scripting... Google-ing/digging the list, I just found messages (Re: System-wide sieve filter - 06/18/2004) argueing there were currently no way to implement wide (not user related) sieve scripts Can anyone confirm this ? Any clues out there ? TIA. PS. we're running Cyrus 2.2.10 + Sieve 2.2 + sendmail 8.12.8p1 on FreeBSD 4.8/10 boxes. --- Cyrus Home Page: http://asg.web.cmu.edu/cyrus Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html I also though about this workaround, halas there are so many shared folders (50+) that this solution would become quickly hard to maintain :/ Apparently you're facing the same problem : it seems there aren't any ways to filter shared mailboxes out of the box ( no joke here ;) ) For example if you want your publicmanager to filter 2 separate shared folders, you'll face this dilemna : . (make your MTA aliases bla and foo - publicmanager) . users of bb+bla want emails coming from [EMAIL PROTECTED] to be posted (moved) under bb+bla.XX (a simple fileinto so far) . at the same time users of bb+foo want emails also coming from [EMAIL PROTECTED] to be posted under bb+foo.XX you'll have to make/manage many cases in publicmanager's sieve script The other drawback of this solution is that *you* have to manage the whole script (parts of it can't be delegated)... Furthermore, *IIRC* sieve scripts can't be nested (if I understand RFC3028 § 2.10.7, sieve implementation must support at least fifteen levels of nested test list), for example : IF condition A then IF condition B then action FI ELSE FI doesn't seem applicable (no test inside another test) - which of course (if my assumption about nested tests is true) tend to make the script more complicated :/ I'll dig further... Thanx paolo Best regards, -- Gilles BRUNO System Admin Universite Joseph Fourier - FRANCE --- Cyrus Home Page: http://asg.web.cmu.edu/cyrus Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
Sieve filtering shared mailboxes (bb+xxx)
Hello, i've just a simple question about sieve filtering shared (bb+) mailboxes: until now, we only used sieve script for user mailboxes (user.xxx), but with the increasing used of shared mailboxes (w/acl), there's a growing demand for sieve scripting... Google-ing/digging the list, I just found messages (Re: System-wide sieve filter - 06/18/2004) argueing there were currently no way to implement wide (not user related) sieve scripts Can anyone confirm this ? Any clues out there ? TIA. PS. we're running Cyrus 2.2.10 + Sieve 2.2 + sendmail 8.12.8p1 on FreeBSD 4.8/10 boxes. -- Gilles BRUNO System Administrator University Joseph Fourier - France --- Cyrus Home Page: http://asg.web.cmu.edu/cyrus Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
Re: Sieve for shared mailboxes
On Fri, 19 Mar 2004, Stephen Grier wrote: Isn't it the case that for user-space mailboxes, sieve scripts are only applied on delivery via LMTP, and not when a message is copied or fileintod it? I don't see why the same behaviour wouldn't be adequate for shared mailboxes. It isn't quite the same. Right now, sieve scripts are set for delivery to user -- making sieve scripts per-folder instead opens up a world of possibilities among which is the following example. I have INBOX.family, INBOX.family.mom, INBOX.family.dad, and so on. I want to be able to just drag and drop a message onto INBOX.family and have it filtered into the the right sub-mailbox. So I put a sieve script on INBOX.family, and it does so. It would also do so if my main sieve script executed a fileinto INBOX.family and so on. This can apply to shared folders just as easily. This sort of behavior allows you to have a collection of short sieve scripts rather than one very large complicated one. It also opens a world of possibility for new bugs. There definately isn't a consensus on what the desireable behavior here is. -Rob -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Rob Siemborski * Andrew Systems Group * Cyert Hall 207 * 412-268-7456 Research Systems Programmer * /usr/contributed Gatekeeper --- Home Page: http://asg.web.cmu.edu/cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
Re: Sieve for shared mailboxes
On Tue, 23 Mar 2004, Craig Ringer wrote: User-created sieve loops strike me as one fun possibility to be avoided at all costs. Well, ok, there's a consensus on *that*. -Rob -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Rob Siemborski * Andrew Systems Group * Cyert Hall 207 * 412-268-7456 Research Systems Programmer * /usr/contributed Gatekeeper --- Home Page: http://asg.web.cmu.edu/cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
Re: Sieve for shared mailboxes
On Tue, 2004-03-23 at 02:28, Rob Siemborski wrote: It also opens a world of possibility for new bugs. There definately isn't a consensus on what the desireable behavior here is. User-created sieve loops strike me as one fun possibility to be avoided at all costs. Craig Ringer --- Home Page: http://asg.web.cmu.edu/cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
Re: Sieve for shared mailboxes
--On Monday, March 22, 2004 13:22:52 -0600 [EMAIL PROTECTED] wrote: On Tue, 23 Mar 2004, Craig Ringer wrote: On Tue, 2004-03-23 at 02:28, Rob Siemborski wrote: It also opens a world of possibility for new bugs. There definately isn't a consensus on what the desireable behavior here is. User-created sieve loops strike me as one fun possibility to be avoided at all costs. Maybe a too simplistic notion on my part, but could the deliverydb be used to prevent that somehow? Though, I guess that would entail chaning the key to reflect the target folder, maybe? (Currently only the Message-Id is used, right?) If each 'delivery' adds a Received header; then a simple limit on the number of Received headers would do the trick. And if it's all handled by a single process that iterates for delivery step; then it could simply keep and check a list of which scripts (or mailboxes) it's already visited. The real bikeshed question is what it should do when a loop is detected? And should that action be at all user configurable? -Pat --- Home Page: http://asg.web.cmu.edu/cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
Re: Sieve for shared mailboxes
[EMAIL PROTECTED] wrote: On Fri, 19 Mar 2004, Stephen Grier wrote: On Fri, 2004-03-19 at 01:09, Ken Murchison wrote: The biggest issue with sieve opn shared folders is how to use them. Are they only executed when mail is delivered via LMTP, or are they executed any time a message is inserted into the mailbox? Isn't it the case that for user-space mailboxes, sieve scripts are only applied on delivery via LMTP, and not when a message is copied or fileintod it? I don't see why the same behaviour wouldn't be adequate for shared mailboxes. Agreed. Are sieve scripts inherited by subfolders, etc? This is effectively the case with user-space mailboxes, although I realise this is because sieve scripts are applied to users rather than mailboxes. Again, the same behaviour would be appropriate for shared mailboxes. Agreed. This might be a bit tricky using IMAP annotations though. Why? Do annotations *always* have to be recursive in nature? I've noticed some of the recent discussions on mta-filter, and there it seems that message expiration could be folder-specific, and not necessarily recursive. (Personally, I wish there was a way to specify that expiration could either be recursive or not. I briefly played with something like that for squat, but I don't know if there's any interest in that, and I didn't really pursue it.) I think for the sort of sieve functionality we need on shared mailboxes here, I would be happy to just have lmtpd look for scripts owned by the postuser user, and apply that to all mail destined for a shared mailbox. Are there any complicating factors in implementing this? I'm looking at the deliver function of lmtpd.c, and it appears to be fairly straight forward to do this. I would be anxious about this. Not only do we have a ton of shared folders, but some see some pretty serious traffic. To have all of that unconditionally going through one Sieve script worries me. Also, if it were possible to tie a Sieve script to a folder (any folder?), perhaps it would be possible to leverage the loginuseacl imapd.conf setting with timsieved. That is, if a user had the admin ACL item on a shared folder, that user would be able to update the Sieve script on that folder. I know some of our folks would be really tickled to have that. In fact in a few cases the need was so pressing for that that I just created the shared folder under the user. hierarchy. Any work on Sieve for shared mailboxes would probably start with one script per mailbox, without inheritance, and would only be processed at deliver time via LMTP. Having the script processed is the easy part. The hard part is managing the script(s). MANAGESIEVE has no facility for scripts per mailbox, just scripts per user. We have the same problem when we commit the Sieve include extension, which defines a global namespace. I think before we attack the execution of scripts for shared folders, we need to address the management of the scripts. -- Kenneth Murchison Oceana Matrix Ltd. Software Engineer 21 Princeton Place 716-662-8973 x26 Orchard Park, NY 14127 --PGP Public Key--http://www.oceana.com/~ken/ksm.pgp --- Home Page: http://asg.web.cmu.edu/cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
Re: Sieve for shared mailboxes
On Fri, 2004-03-19 at 01:09, Ken Murchison wrote: Stephen Grier wrote: What is the current situation with Sieve for shared mailboxes? I've read the discussion from last July on the cyrus-devel list, subject [PROPOSAL] Sieve for shared mailboxes, but I can't find any anything on the subject more recent than this. Is it still the intention to use the IMAP ANNOTATE extension to hold a /sieve value indicating the Sieve script to run for a particular shared mailbox? The biggest issue with sieve opn shared folders is how to use them. Are they only executed when mail is delivered via LMTP, or are they executed any time a message is inserted into the mailbox? Isn't it the case that for user-space mailboxes, sieve scripts are only applied on delivery via LMTP, and not when a message is copied or fileintod it? I don't see why the same behaviour wouldn't be adequate for shared mailboxes. Are sieve scripts inherited by subfolders, etc? This is effectively the case with user-space mailboxes, although I realise this is because sieve scripts are applied to users rather than mailboxes. Again, the same behaviour would be appropriate for shared mailboxes. This might be a bit tricky using IMAP annotations though. I think for the sort of sieve functionality we need on shared mailboxes here, I would be happy to just have lmtpd look for scripts owned by the postuser user, and apply that to all mail destined for a shared mailbox. Are there any complicating factors in implementing this? I'm looking at the deliver function of lmtpd.c, and it appears to be fairly straight forward to do this. -- Stephen Grier Systems Developer Computing Services Queen Mary, University of London --- Home Page: http://asg.web.cmu.edu/cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
Re: Sieve for shared mailboxes
On Fri, 19 Mar 2004, Stephen Grier wrote: On Fri, 2004-03-19 at 01:09, Ken Murchison wrote: The biggest issue with sieve opn shared folders is how to use them. Are they only executed when mail is delivered via LMTP, or are they executed any time a message is inserted into the mailbox? Isn't it the case that for user-space mailboxes, sieve scripts are only applied on delivery via LMTP, and not when a message is copied or fileintod it? I don't see why the same behaviour wouldn't be adequate for shared mailboxes. Agreed. Are sieve scripts inherited by subfolders, etc? This is effectively the case with user-space mailboxes, although I realise this is because sieve scripts are applied to users rather than mailboxes. Again, the same behaviour would be appropriate for shared mailboxes. Agreed. This might be a bit tricky using IMAP annotations though. Why? Do annotations *always* have to be recursive in nature? I've noticed some of the recent discussions on mta-filter, and there it seems that message expiration could be folder-specific, and not necessarily recursive. (Personally, I wish there was a way to specify that expiration could either be recursive or not. I briefly played with something like that for squat, but I don't know if there's any interest in that, and I didn't really pursue it.) I think for the sort of sieve functionality we need on shared mailboxes here, I would be happy to just have lmtpd look for scripts owned by the postuser user, and apply that to all mail destined for a shared mailbox. Are there any complicating factors in implementing this? I'm looking at the deliver function of lmtpd.c, and it appears to be fairly straight forward to do this. I would be anxious about this. Not only do we have a ton of shared folders, but some see some pretty serious traffic. To have all of that unconditionally going through one Sieve script worries me. Also, if it were possible to tie a Sieve script to a folder (any folder?), perhaps it would be possible to leverage the loginuseacl imapd.conf setting with timsieved. That is, if a user had the admin ACL item on a shared folder, that user would be able to update the Sieve script on that folder. I know some of our folks would be really tickled to have that. In fact in a few cases the need was so pressing for that that I just created the shared folder under the user. hierarchy. -- Amos --- Home Page: http://asg.web.cmu.edu/cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
Re: Sieve for shared mailboxes
Stephen Grier wrote: What is the current situation with Sieve for shared mailboxes? I've read the discussion from last July on the cyrus-devel list, subject [PROPOSAL] Sieve for shared mailboxes, but I can't find any anything on the subject more recent than this. Is it still the intention to use the IMAP ANNOTATE extension to hold a /sieve value indicating the Sieve script to run for a particular shared mailbox? The biggest issue with sieve opn shared folders is how to use them. Are they only executed when mail is delivered via LMTP, or are they executed any time a message is inserted into the mailbox? Are sieve scripts inherited by subfolders, etc? -- Kenneth Murchison Oceana Matrix Ltd. Software Engineer 21 Princeton Place 716-662-8973 x26 Orchard Park, NY 14127 --PGP Public Key--http://www.oceana.com/~ken/ksm.pgp --- Home Page: http://asg.web.cmu.edu/cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
Sieve for shared mailboxes
What is the current situation with Sieve for shared mailboxes? I've read the discussion from last July on the cyrus-devel list, subject [PROPOSAL] Sieve for shared mailboxes, but I can't find any anything on the subject more recent than this. Is it still the intention to use the IMAP ANNOTATE extension to hold a /sieve value indicating the Sieve script to run for a particular shared mailbox? -- Stephen Grier Systems Developer Computing Services Queen Mary, University of London --- Home Page: http://asg.web.cmu.edu/cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
Re: [PROPOSAL] Sieve for shared mailboxes
Rob Mueller wrote: Actually, my intent wasn't to _store_ a script via IMAP ANNOTATEMORE. I was only intending to _select_ (activate) a script via the annotation. I still anticipate using MANAGESIEVE to do the upload/download. Would it be hard to add the ability to store scripts as well? It would be nice to be able to access all information about an account through IMAP, rather than having to use several protocols. I suppose it _might_ be possible to store an entire script as an annotation, but I'm not going to do it. I'm not convinced that this belongs in IMAP. While I'm at it, could you add an annotation to tell you which partition the mailbox is on. As far as I can tell (and it's quite possible I'm missing something), once you supply the partition to the 'create' command, there's no way to ever find out again what partition a mailbox is actually on... Its already part of 2.1 and 2.2. In 2.1 you have to explicitly configure --enable-annotatemore and then an 'info' command in cyradm will give you what you want: cyrus.andrew.cmu.edu info inbox {inbox}: partition: u1 server: mail2.andrew.cmu.edu Note that the 2.1 code only supports these two read-only mailbox annotations hasn't been updated to the latest ANNOTATEMORE syntax. I'm not sure we will bother to do any further development on ANNOTATEMORE in 2.1 (but I'll defer to Rob on this). In 2.2 ANNOTATEMORE support is enabled by default because we have added support for read-write annotations, some of which are needed by nntpd. -- Kenneth Murchison Oceana Matrix Ltd. Software Engineer 21 Princeton Place 716-662-8973 x26 Orchard Park, NY 14127 --PGP Public Key--http://www.oceana.com/~ken/ksm.pgp
Re: [PROPOSAL] Sieve for shared mailboxes
Hi Ken, --On Tuesday, July 8, 2003 9:59 AM -0400 Ken Murchison [EMAIL PROTECTED] wrote: | In the past, people have requested the ability to run sieve scripts when | messages are posted directly to shared mailboxes (via +detail | addressing). I have suggested that this would be possible by associating | a script with the 'postuser' (typically bb or ), but this was deemed | unacceptable as people wanted more fine grained control over which | mailboxes would have the script run. | | Now that Cyrus 2.2 has support for mailbox annotations, I believe that we | can provide the functionality that people desire. I propose the | following: | | We will create a new /vendor/cmu/cyrus-imapd/sieve shared annotation | which can only be set by an admin. Whenever a message is posted directly | to a shared mailbox, the script specified by the /sieve annotation (if | any) will be run. | | Question: Should the annotation be inherited by child mailboxes? This | would allow the same script to be run on an entire hierarchy by only | setting one annotation. Inheritance may be wanted (I suspect a lot of people will want that given that I know a lot of people have requested various mailbox inheritance behaviours in Mulberry). I think you will need to add another annotation to turn on or off inheritance for all children: /vendor/cmu/cyrus-imapd/sieve-inherit with values true or false. The server would have to manage the inheritance behaviour itself since ANNOTATEMORE does not have inheritance built-in (this does beg the question as to whether ANNOTATEMORE should have inheritance built-in but that will add a lot of complexity). The question is whether to make inheritance the default or not. Also note that this has to also work by adding a script to a \NoSelect mailbox (i.e. one that is a 'directory' rather than a message container) - but ANNOTATEMORE requires that to be supported. Does a SIEVE fileinto constitute a 'post' operation that would trigger an attached script? If so, then you need to make sure loops are prevented. What about IMAP APPEND? Does that trigger the script? It really ought to as well. Will you extend ManageSIEVE to allow setting scripts on mailboxes via that protocol? Should a script attached to INBOX actually be the users primary (delivery) SIEVE script? If so setting that script via IMAP ANNTATEMORE should have the same effect as doing so via ManageSIEVE. -- Cyrus Daboo
Re: [PROPOSAL] Sieve for shared mailboxes
Stephen L. Ulmer wrote: On 8 Jul 2003, Ken Murchison stated: In the past, people have requested the ability to run sieve scripts when messages are posted directly to shared mailboxes (via +detail addressing). I have suggested that this would be possible by associating a script with the 'postuser' (typically bb or ), but this was deemed unacceptable as people wanted more fine grained control over which mailboxes would have the script run. Now that Cyrus 2.2 has support for mailbox annotations, I believe that we can provide the functionality that people desire. I propose the following: We will create a new /vendor/cmu/cyrus-imapd/sieve shared annotation which can only be set by an admin. Whenever a message is posted directly to a shared mailbox, the script specified by the /sieve annotation (if any) will be run. Question: Should the annotation be inherited by child mailboxes? This would allow the same script to be run on an entire hierarchy by only setting one annotation. Thoughts? Random thoughts (not necessarily well-formed): What does it mean to fileinto a different folder? Something already decided to post the message *here*. The case is a little different for an INBOX. Not sure what you mean. Do you mean what happens if the script for the shared mailbox does fileinto somewhere else? In this case, we'd use the appropriate ACL to determine if anonymous can append the message. If none of the actions in the script succeed, then the implicit keep will file the message into the mailbox specified by the original delivery address (ACL permitting). Do we allow delivering to any folder to which the deliver process has permissions, or just to some subtree? Totally dependent on ACL (no different than it is now). If the poster has permission on the original folder but not on the target folder at the end of the script, how does the poster know that rejection is based on the result of the script? Changing the contents of the message could allow it to be delivered (by it being filed someplace else). A script failure should always result in the implicit keep (same functionality as with no script at all). Can the child be annotated to dis-inherit the script? Yes. We would probably need a dummy script name which says do not run ANY script. Actually an empty script would do the same thing. If a child is also annotated, is the script replaced, or is it included in some way? Replaced. Only the closest script to the mailbox is run. If the message is fileinto'd another folder, is the script for that folder run? What if it fileinto's back to the original? The script is only run at delivery time, NOT any time a message is copied/appended into a folder. Same semantics as with user scripts. Are ACLs inherited by branches of a tree? Should the script inheritance behavior be analogous? ACLs are inherited. The /sieve annotation inheritance would be the same. How is the behavior of the script defined for future sieve extensions? Should this be addressed now, in case future extensions don't make sense in the context of a shared folder? This proposal makes no assumptions about the contents/semantics of the script -- that is up to the script writer. This proposal is only for allowing fine grained control over which sieve script should be run upon delivery to a shared mailbox. Let's turn the question inside out: Why are INBOXes currently special, other than they can have scripts associated with them? Actually, users have sieve scripts, NOT INBOXes. My idea follows the same logic that the null user (that address used to post directly to shared mailboxes) can also have sieve scripts. We just use a mailbox annotation to determine which script to run. Sorry this is so scattered. No problem, these are good questions. I hope I answered them well enough. -- Kenneth Murchison Oceana Matrix Ltd. Software Engineer 21 Princeton Place 716-662-8973 x26 Orchard Park, NY 14127 --PGP Public Key--http://www.oceana.com/~ken/ksm.pgp
Re: [PROPOSAL] Sieve for shared mailboxes
Cyrus Daboo wrote: Hi Ken, --On Tuesday, July 8, 2003 9:59 AM -0400 Ken Murchison [EMAIL PROTECTED] wrote: | In the past, people have requested the ability to run sieve scripts when | messages are posted directly to shared mailboxes (via +detail | addressing). I have suggested that this would be possible by associating | a script with the 'postuser' (typically bb or ), but this was deemed | unacceptable as people wanted more fine grained control over which | mailboxes would have the script run. | | Now that Cyrus 2.2 has support for mailbox annotations, I believe that we | can provide the functionality that people desire. I propose the | following: | | We will create a new /vendor/cmu/cyrus-imapd/sieve shared annotation | which can only be set by an admin. Whenever a message is posted directly | to a shared mailbox, the script specified by the /sieve annotation (if | any) will be run. | | Question: Should the annotation be inherited by child mailboxes? This | would allow the same script to be run on an entire hierarchy by only | setting one annotation. Inheritance may be wanted (I suspect a lot of people will want that given that I know a lot of people have requested various mailbox inheritance behaviours in Mulberry). I think you will need to add another annotation to turn on or off inheritance for all children: /vendor/cmu/cyrus-imapd/sieve-inherit with values true or false. Yes. There needs to be a mechanism for disabling inheritance. The server would have to manage the inheritance behaviour itself since ANNOTATEMORE does not have inheritance built-in (this does beg the question as to whether ANNOTATEMORE should have inheritance built-in but that will add a lot of complexity). The question is whether to make inheritance the default or not. Yeah, we're already managing inheritance internally for a /vendor/cmu/cyrus-imapd/expire annotation. I don't think that adding it to the spec is necessary. Also note that this has to also work by adding a script to a \NoSelect mailbox (i.e. one that is a 'directory' rather than a message container) - but ANNOTATEMORE requires that to be supported. Correct. Did you see Rob's message on imapext concerning this? Does a SIEVE fileinto constitute a 'post' operation that would trigger an attached script? If so, then you need to make sure loops are prevented. I hadn't anticipated fileinto triggering the script (no different than user scripts). What about IMAP APPEND? Does that trigger the script? It really ought to as well. I hadn't anticipated this. What would be the need/advantage of this? Will you extend ManageSIEVE to allow setting scripts on mailboxes via that protocol? We would probably have to do something. This is also necesary for your Sieve Include extension. These scripts would be treated as /global. Should a script attached to INBOX actually be the users primary (delivery) SIEVE script? If so setting that script via IMAP ANNTATEMORE should have the same effect as doing so via ManageSIEVE. True. I hadn't thought about that. This might be worth exploring. Since Rob is on vacation, I haven't discussed any of this with him. -- Kenneth Murchison Oceana Matrix Ltd. Software Engineer 21 Princeton Place 716-662-8973 x26 Orchard Park, NY 14127 --PGP Public Key--http://www.oceana.com/~ken/ksm.pgp
Re: [PROPOSAL] Sieve for shared mailboxes
On Tue, 08 Jul 2003 09:59:20 -0400, Ken Murchison [EMAIL PROTECTED] (km) writes: km Now that Cyrus 2.2 has support for mailbox annotations, I believe km that we can provide the functionality that people desire. I just have to say: WOOHOO!!! :-) OK, perhaps a little premature, but this sounds really cool and terribly useful. Now I need to read up on this annotate stuff. -- Amos
Re: [PROPOSAL] Sieve for shared mailboxes
Should a script attached to INBOX actually be the users primary (delivery) SIEVE script? If so setting that script via IMAP ANNTATEMORE should have the same effect as doing so via ManageSIEVE. True. I hadn't thought about that. This might be worth exploring. I think this would be great. Personally I found the whole concept of having an entirely different protocol to manage sieve scripts a bit bewildering when a few simple additions to IMAP would have done it. I guess someone thought it was a sufficiently distinct problem space... Anyway, now that the ANNOTATE extension provides more aribtrary meta-data abilities, I think being able to set user sieve scripts by it would be great. Of course interactions with managesieve could be tricky, but still, I think it's definitely a worthwhile goal. Rob
Re: [PROPOSAL] Sieve for shared mailboxes
Hi Rob, --On Wednesday, July 09, 2003 2:08 AM +1000 Rob Mueller [EMAIL PROTECTED] wrote: | True. I hadn't thought about that. This might be worth exploring. | | I think this would be great. Personally I found the whole concept of | having an entirely different protocol to manage sieve scripts a bit | bewildering when a few simple additions to IMAP would have done it. I | guess someone thought it was a sufficiently distinct problem space... SIEVE can of course be used with POP, so there does need to be a more general script management protocol, unless you want to extend both POP and IMAP. | Anyway, now that the ANNOTATE extension provides more aribtrary meta-data | abilities, I think being able to set user sieve scripts by it would be | great. Of course interactions with managesieve could be tricky, but | still, I think it's definitely a worthwhile goal. ManageSIEVE does allow arbitrary named scripts to be stored on the server and activated. Doing that with ANNOTATEMORE is possible but may be complex. It could probably be done by having the user's scripts all listed under a server-level annotation (rather than a per-mailbox annotation) with a specific annotation used to hold the name of the active script. One other thing that ManageSIEVE does that is useful is syntax checking of a script being uploaded. Whilst Ken did not mention that, ideally storing a script via IMAP should also do a syntax check and prevent the store if the script is bad. -- Cyrus Daboo
Re: [PROPOSAL] Sieve for shared mailboxes
Cyrus Daboo wrote: Hi Rob, --On Wednesday, July 09, 2003 2:08 AM +1000 Rob Mueller [EMAIL PROTECTED] wrote: | True. I hadn't thought about that. This might be worth exploring. | | I think this would be great. Personally I found the whole concept of | having an entirely different protocol to manage sieve scripts a bit | bewildering when a few simple additions to IMAP would have done it. I | guess someone thought it was a sufficiently distinct problem space... SIEVE can of course be used with POP, so there does need to be a more general script management protocol, unless you want to extend both POP and IMAP. | Anyway, now that the ANNOTATE extension provides more aribtrary meta-data | abilities, I think being able to set user sieve scripts by it would be | great. Of course interactions with managesieve could be tricky, but | still, I think it's definitely a worthwhile goal. ManageSIEVE does allow arbitrary named scripts to be stored on the server and activated. Doing that with ANNOTATEMORE is possible but may be complex. It could probably be done by having the user's scripts all listed under a server-level annotation (rather than a per-mailbox annotation) with a specific annotation used to hold the name of the active script. One other thing that ManageSIEVE does that is useful is syntax checking of a script being uploaded. Whilst Ken did not mention that, ideally storing a script via IMAP should also do a syntax check and prevent the store if the script is bad. Actually, my intent wasn't to _store_ a script via IMAP ANNOTATEMORE. I was only intending to _select_ (activate) a script via the annotation. I still anticipate using MANAGESIEVE to do the upload/download. -- Kenneth Murchison Oceana Matrix Ltd. Software Engineer 21 Princeton Place 716-662-8973 x26 Orchard Park, NY 14127 --PGP Public Key--http://www.oceana.com/~ken/ksm.pgp
Re: [PROPOSAL] Sieve for shared mailboxes
Hi Ken, --On Tuesday, July 8, 2003 11:34 AM -0400 Ken Murchison [EMAIL PROTECTED] wrote: | What about IMAP APPEND? Does that trigger the script? It really ought to | as well. | | I hadn't anticipated this. What would be the need/advantage of this? | There is a huge potential for using sieve scripts for IMAP COPY/APPEND operations to help automate processing of messages once they have arrived. For example, I use the mailbox hierarchy as a way of organising my email, so I have a 'Personal' mailbox, 'Personal. Friends', 'Personal.Family' etc. Since I still choose to have messages delivered to INBOX, I then need to manually classify each message and copy into the relevant mailbox after reading/responding. What would be good is to have a single 'Rule' mailbox with a script attached to it and that script would have all the logic for determining the appropriate mailbox to copy the message into. All I would then need to do is copy all messages I want to file away into the Rule mailbox and the server/script would take care of filing it away properly for me. Obviously clients can implement logic like that on the client-side, but it would be nice to have it done on the server. The same kind of behaviour would be nice for sent-mail messages too (i.e. APPEND). Clearly certain sieve script actions do not make sense with COPY/APPEND - in particular reject, so there would have to be some form of 'profile' of sieve that would make sense. -- Cyrus Daboo
Re: [PROPOSAL] Sieve for shared mailboxes
Stephen L. Ulmer wrote: Of course if Cyrus IMAPd were implemented in LISP Now that's old school. ;) I'm sure I've forgotten more about LISP, and functional languages in general, than I remember. IIRC, the original IMAP client written by Mark Crispin was written in LISP. -- Kenneth Murchison Oceana Matrix Ltd. Software Engineer 21 Princeton Place 716-662-8973 x26 Orchard Park, NY 14127 --PGP Public Key--http://www.oceana.com/~ken/ksm.pgp
Re: [PROPOSAL] Sieve for shared mailboxes
On Tue, 08 Jul 2003 14:33:53 -0400, Ken Murchison [EMAIL PROTECTED] (km) writes: km IIRC, the original IMAP client written by Mark Crispin was written in LISP. Hey, some of us still use (e)LISP mail clients, not that I'm encouraging a client/language debate. Really. ;-) -- Amos
Re: [PROPOSAL] Sieve for shared mailboxes
Amos Gouaux wrote: On Tue, 08 Jul 2003 14:33:53 -0400, Ken Murchison [EMAIL PROTECTED] (km) writes: km IIRC, the original IMAP client written by Mark Crispin was written in LISP. Hey, some of us still use (e)LISP mail clients, not that I'm Right. I've been known to use Emacs to read email/news when I'm in a pinch. Just out of curiousity, are there any non-eLISP IMAP clients? -- Kenneth Murchison Oceana Matrix Ltd. Software Engineer 21 Princeton Place 716-662-8973 x26 Orchard Park, NY 14127 --PGP Public Key--http://www.oceana.com/~ken/ksm.pgp
Re: [PROPOSAL] Sieve for shared mailboxes
Actually, my intent wasn't to _store_ a script via IMAP ANNOTATEMORE. I was only intending to _select_ (activate) a script via the annotation. I still anticipate using MANAGESIEVE to do the upload/download. Would it be hard to add the ability to store scripts as well? It would be nice to be able to access all information about an account through IMAP, rather than having to use several protocols. While I'm at it, could you add an annotation to tell you which partition the mailbox is on. As far as I can tell (and it's quite possible I'm missing something), once you supply the partition to the 'create' command, there's no way to ever find out again what partition a mailbox is actually on... Rob
Re: [PROPOSAL] Sieve for shared mailboxes
On 8 Jul 2003, Ken Murchison writes: Just out of curiousity, are there any non-eLISP IMAP clients? Sure, all the ones written in other languages... oh, that's not what you meant? grin Parsing that as (non-e)LISP IMAP clients: One called PostOffice is at http://opensource.franz.com/postoffice/ and various IMAP history files say there was one for the old Xerox LISP machines, called MM-D. Jonathan -- Jonathan Marsden| Internet: [EMAIL PROTECTED] | Making electronic 1252 Judson Street | Phone: +1 (909) 795-3877 | communications work Redlands, CA 92374 | Fax: +1 (909) 795-0327 | reliably for Christian USA | http://www.xc.org/jonathan| missions worldwide