Re: Sieve for shared mailboxes

2016-04-06 Thread Merlin Hartley via Info-cyrus
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

2016-04-06 Thread Nic Bernstein via Info-cyrus

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

2016-03-19 Thread Bron Gondwana via Info-cyrus
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

2016-03-19 Thread Merlin Hartley via Info-cyrus
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

2016-03-19 Thread Alvin Starr via Info-cyrus
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

2016-03-19 Thread Alvin Starr via Info-cyrus

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

2016-03-18 Thread Merlin Hartley via Info-cyrus
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)

2005-01-26 Thread Paolo Negri
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)

2005-01-24 Thread Paolo Negri
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)

2005-01-24 Thread Gilles Bruno
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)

2005-01-23 Thread Gilles Bruno
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

2004-03-22 Thread Rob Siemborski
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

2004-03-22 Thread Rob Siemborski
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

2004-03-22 Thread Craig Ringer
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

2004-03-22 Thread Pat Lashley
--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

2004-03-20 Thread Ken Murchison
[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

2004-03-19 Thread Stephen Grier
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

2004-03-19 Thread +archive . info-cyrus
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

2004-03-18 Thread Ken Murchison
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

2004-03-17 Thread Stephen Grier
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

2003-07-09 Thread Ken Murchison


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

2003-07-08 Thread Cyrus Daboo
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

2003-07-08 Thread Ken Murchison


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

2003-07-08 Thread Ken Murchison


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

2003-07-08 Thread Amos Gouaux
 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

2003-07-08 Thread Rob Mueller
  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

2003-07-08 Thread Cyrus Daboo
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

2003-07-08 Thread Ken Murchison


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

2003-07-08 Thread Cyrus Daboo
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

2003-07-08 Thread Ken Murchison


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

2003-07-08 Thread Amos Gouaux
 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

2003-07-08 Thread Ken Murchison


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

2003-07-08 Thread Rob Mueller
 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

2003-07-08 Thread Jonathan Marsden
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