sieve stream tcp nowait root /usr/bin/python python /var/lib/pysieved/pysieved.py --inetd --config /etc/pysieved.ini
I use system accounts for mail access, so PAM authentication is selected, and of course Exim storage model:
[main] # Authentication back-end to use auth = pam
# User DB back-end to use userdb = passwd
# Storage back-end to use storage = Exim
# Bind to what address? (Ignored with --stdin) #bindaddr = 127.0.0.1
# Listen on what port? (Ignored with --stdin) port = 2000
[... et cetera, stock template contents!]
The first diff hunk is against the "userforward:" router section. I cloned the address_file transport and named the copy address_file_forward, for forwarding only, so that we are not changing the configuration of all routers that use address_file!
I then changed this cloned transport to do maildir delivery. It handles the INBOX. prefix that RoundCube's plugin puts on the folders. E.g. if your rule says to file into folder Foo, then the Sieve script actually has fileinto "INBOX.Foo". The exim configuration will translate this to /<yourhome>/Maildir/.Foo:
webserver:/etc/exim4# quilt diff Index: exim4/exim4.conf.template =================================================================== --- exim4.orig/exim4.conf.template 2010-08-18 11:52:21.000000000 -0700 +++ exim4/exim4.conf.template 2010-08-18 12:33:37.000000000 -0700 @@ -1241,7 +1241,7 @@ allow_filter forbid_smtp_code = true directory_transport = address_directory
@@ -1431,6 +1431,24 @@ envelope_to_add return_path_add
+address_file_forward:
{$home/Maildir} \
{${if eq{${substr_0_1:$address_file}}{/} \
{$address_file} \
{${if match {$address_file}{^INBOX\.} \
{${sg {$address_file} \
{^(INBOX.)(.*)$}{$home/Maildir/.$2}}} \
{$home/Maildir/$address_file}}}}}}
##################################################### ### end transport/30_exim4-config_address_file #####################################################
List info: http://lists.roundcube.net/users/ BT/9b404e9e
On Wed, 18 Aug 2010 12:51:33 -0700, Kaz Kylheku kaz@kylheku.com wrote:
pysieved set up in /etc/inetd.conf setup
sieve stream tcp nowait root /usr/bin/python python /var/lib/pysieved/pysieved.py --inetd --config /etc/pysieved.ini
/etc/pysieved.ini setup
I use system accounts for mail access, so PAM authentication is selected, and of course Exim storage model:
[main] # Authentication back-end to use auth = pam
# User DB back-end to use userdb = passwd
# Storage back-end to use storage = Exim
# Bind to what address? (Ignored with --stdin) #bindaddr = 127.0.0.1
# Listen on what port? (Ignored with --stdin) port = 2000
[... et cetera, stock template contents!]
Exim configuration, (shown as a patch)
The first diff hunk is against the "userforward:" router section. I cloned the address_file transport and named the copy address_file_forward, for forwarding only, so that we are not changing the configuration of all routers that use address_file!
I then changed this cloned transport to do maildir delivery. It handles the INBOX. prefix that RoundCube's plugin puts on the folders. E.g. if your rule says to file into folder Foo, then the Sieve script actually has fileinto "INBOX.Foo". The exim configuration will translate this to /<yourhome>/Maildir/.Foo:
webserver:/etc/exim4# quilt diff Index: exim4/exim4.conf.template =================================================================== --- exim4.orig/exim4.conf.template 2010-08-18 11:52:21.000000000 -0700 +++ exim4/exim4.conf.template 2010-08-18 12:33:37.000000000 -0700 @@ -1241,7 +1241,7 @@ allow_filter forbid_smtp_code = true directory_transport = address_directory
- file_transport = address_file
- file_transport = address_file_forward pipe_transport = address_pipe reply_transport = address_reply skip_syntax_errors
@@ -1431,6 +1431,24 @@ envelope_to_add return_path_add
+address_file_forward:
- debug_print = "T: address_file_forward for $local_part@$domain"
- driver = appendfile
- delivery_date_add
- envelope_to_add
- return_path_add
- maildir_format
- directory = ${if eq{$address_file}{inbox} \
{$home/Maildir} \
{${if eq{${substr_0_1:$address_file}}{/} \
{$address_file} \
{${if match {$address_file}{^INBOX\.} \
{${sg {$address_file} \
{^(INBOX.)(.*)$}{$home/Maildir/.$2}}} \
{$home/Maildir/$address_file}}}}}}
##################################################### ### end transport/30_exim4-config_address_file #####################################################
List info: http://lists.roundcube.net/users/ BT/e81cb6e8
hi all I never managed to pull pysieved
I use managesieve directly. managesieve is hard coded in the config for dovecot
and this without any problem
Afficher en écriture latine I hope that this enlightened you _______________________________________________ List info: http://lists.roundcube.net/users/ BT/9b404e9e
On Thu, 19 Aug 2010 04:02:32 +0200, fakessh fakessh@fakessh.eu wrote:
On Wed, 18 Aug 2010 12:51:33 -0700, Kaz Kylheku kaz@kylheku.com wrote:
pysieved set up in /etc/inetd.conf setup
[ ... ]
hi all I never managed to pull pysieved
I use managesieve directly.
Hi fakessh,
The Roundcube managesieve plugin needs to talk to a managesieve server on port 2000. (I've looked at the code and didn't find any evidence of any capability of managing script storage directly, without the protocol. Maybe I didn't look hard enough?)
The pysieved program provides that server. It has has plugins of its own for different kinds of authentication and storage. My e-mail accounts are real system accounts, so I use the PAM authentication plugin, and the Exim storage model.
So with this setup my users are able to control Exim filters from the Roundcube UI.
I think this is probably the best solution for people who want to stick with their Exim setup, at least until Exim integrates the managesieve protocol.
managesieve is hard coded in the config for dovecot
That may be, but with a little configuring, the sieve scripts generated by Roundcube seem work fine in a .forward file used by Exim. (BTW, pysieved actually manages .forward as a symbolic link to the currently active filter. The filters are stored in a subdirectory of the user's home).
I've been reading that the Exim sieve implementation has some limitations compared to dovecot; I will probably run into these sooner or later.
I hope that this enlightened you
Not really; I already googled up that you can get an nice sieve implementation with Dovecot. I wanted to get it working with Exim. I don't want to risk a working, live e-mail set up by switching to a whole other MTA, that's all.
List info: http://lists.roundcube.net/users/ BT/9b404e9e
On Wed, 18 Aug 2010 20:13:15 -0700, Kaz Kylheku kaz@kylheku.com wrote:
On Thu, 19 Aug 2010 04:02:32 +0200, fakessh fakessh@fakessh.eu wrote:
On Wed, 18 Aug 2010 12:51:33 -0700, Kaz Kylheku kaz@kylheku.com wrote:
pysieved set up in /etc/inetd.conf setup
[ ... ]
hi all I never managed to pull pysieved
I use managesieve directly.
Hi fakessh,
The Roundcube managesieve plugin needs to talk to a managesieve server on port 2000. (I've looked at the code and didn't find any evidence of any capability of managing script storage directly, without the protocol. Maybe I didn't look hard enough?)
The pysieved program provides that server. It has has plugins of its own for different kinds of authentication and storage. My e-mail accounts are real system accounts, so I use the PAM authentication plugin, and the Exim storage model.
So with this setup my users are able to control Exim filters from the Roundcube UI.
I think this is probably the best solution for people who want to stick with their Exim setup, at least until Exim integrates the managesieve protocol.
managesieve is hard coded in the config for dovecot
That may be, but with a little configuring, the sieve scripts generated by Roundcube seem work fine in a .forward file used by Exim. (BTW, pysieved actually manages .forward as a symbolic link to the currently active filter. The filters are stored in a subdirectory of the user's home).
I've been reading that the Exim sieve implementation has some limitations compared to dovecot; I will probably run into these sooner or later.
I hope that this enlightened you
Not really; I already googled up that you can get an nice sieve implementation with Dovecot. I wanted to get it working with Exim. I don't want to risk a working, live e-mail set up by switching to a whole other MTA, that's all.
in my config plugin managesieve is entierely managed via dovecot managesieve protocol is on port 2000
i don't know exim I can not be of much help _______________________________________________ List info: http://lists.roundcube.net/users/ BT/9b404e9e
Kaz Kylheku wrote:
Not really; I already googled up that you can get an nice sieve implementation with Dovecot. I wanted to get it working with Exim. I don't want to risk a working, live e-mail set up by switching to a whole other MTA, that's all.
??
Dovecot is not an MTA, it is a POP/IMAP server, so it would replace your Courier, not Exim (and yes, with dovecot you can still use Exims LDA if you want, although you lose the advantage of dovecots indexes being automatically updated at deliver time if you don't use the dovecot LDA).
Dovecot, quite simply, smashes Courier's face in, so you would only be doing yourself and your users a huge favor by switching to it.