![]() |
Extend require line for dovecot.sieve-files
[Moved from here]
Hi there! Maybe someone can give me a hand here: Due to the fact that the sieverules-plugin of roundcube allows more complex filtering solutions than ISPConfig we found the require-line which is written by ispconfig insufficient: Code:
require ["fileinto", "regex", "vacation"];Code:
require ["fileinto","regex","vacation","copy"];Best regards |
All config file templates are in the directory /usr/local/ispconfig/server/conf/. Store your modified copy of the file in the conf-custom directory, so that it does not get overwritten on updates.
|
Thanks for the quick reply and the answer - learned a bit more about ISPConfig today. ;-)
|
Dovecot v.2 working.
Hi,
My reason for posting this here is because the next thing I intend to try out is the work you have been doing on roundcube sieve. I am trying out Dovecot v.2 with a managesieve daemon at the moment. In the testing distribution the managesieve protocol has been changed to a service. Many BIG thanks to xabbu: http://www.howtoforge.com/forums/showthread.php?t=53656 This is my dovecot.conf currently: ## ## SSL settings ## ssl = yes ssl_cert = </etc/ssl/certs/dovecot.pem ssl_key = </etc/ssl/private/dovecot.pem auth_mechanisms = plain login disable_plaintext_auth = no first_valid_gid = 5000 first_valid_uid = 5000 last_valid_gid = 5000 last_valid_uid = 5000 log_timestamp = "%Y-%m-%d %H:%M:%S " mail_location = maildir:/var/vmail/%d/%n/Maildir passdb { driver = pam } passdb { args = /etc/dovecot/dovecot-sql.conf driver = sql } plugin { quota = maildir sieve = ~/.dovecot.sieve sieve_dir = ~/sieve } protocols = imap pop3 service auth { unix_listener /var/spool/postfix/private/auth { group = postfix mode = 0660 user = postfix } unix_listener auth-master { mode = 0600 user = vmail } user = root } service imap { executable = /usr/lib/dovecot/rawlog /usr/lib/dovecot/imap } service pop3 { executable = /usr/lib/dovecot/rawlog /usr/lib/dovecot/pop3 } userdb { driver = passwd } userdb { args = /etc/dovecot/dovecot-sql.conf driver = sql } protocol imap { # mail_plugin_dir = /usr/lib64/dovecot/modules/lib11_imap_quota_plugin.so mail_plugin_dir = /usr/lib64/dovecot/modules mail_plugins = quota imap_quota } protocol pop3 { # mail_plugin_dir = /usr/lib64/dovecot/modules/pop3 mail_plugin_dir = /usr/lib64/dovecot/modules mail_plugins = quota pop3_uidl_format = %08Xu%08Xv } protocol lda { auth_socket_path = /var/run/dovecot/auth-master mail_plugin_dir = /usr/lib64/dovecot/modules mail_plugins = sieve quota postmaster_address = postmaster@example.com } You will note that I am using SSL but it's fine to use ssl = no instead. This is the SQL file from dovecot-sql.conf (uncommented): driver = mysql connect = host=localhost dbname=xxxxxx user=ispconfig password=xxxxxxxxxxxxxxxx default_pass_scheme = CRYPT password_query = SELECT password FROM mail_user WHERE email = '%u' AND disable%Ls = 'n' user_query = SELECT email as user, maildir as home, CONCAT(maildir, '/Maildir') as mail, uid, gid, concat('*:storage=', quota, 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE email = '%u' AND disable%Ls = 'n' MTA is up and running and ISPConfig is not reporting any problems except with local delivery which I am working on now. I edited /usr/local/ispconfig/interface/web/mail/mail_user_edit.php and replaced all references to disabledeliver with disablelda and changed the table in the mysql database like xabbu said but I am not sure if I translated from German correctly! These are the sieve specific settings in Dovecot v.2 ## ## Settings for the Sieve interpreter ## # Do not forget to enable the Sieve plugin in 15-lda.conf and 20-lmtp.conf # by adding it to the respective mail_plugins= settings. plugin { # The path to the user's main active script. sieve = ~/.dovecot.sieve # A path to a global sieve script file, which gets executed ONLY # if user's private Sieve script doesn't exist. Be sure to # pre-compile this script manually using the sievec command line # tool. #sieve_global_path = /var/lib/dovecot/sieve/default.sieve # Directory for :personal include scripts for the include extension. sieve_dir = ~/sieve # Directory for :global include scripts for the include extension. #sieve_global_dir = # Which Sieve language extensions are available to users. By default, # all supported extensions are available, except for deprecated # extensions or those that are still under development. Some system # administrators may want to disable certain Sieve extensions or # enable those that are not available by default. This setting can # use '+' and '-' to specify differences relative to the default. # For example `sieve_extensions = +imapflags' will enable the # deprecated imapflags extension in addition to all extensions # enabled by default. #sieve_extensions = +notify +imapflags # The separator that is expected between the :user and :detail # address parts introduced by the subaddress extension. This may # also be a sequence of characters (e.g. '--'). The current # implementation looks for the separator from the left of the # localpart and uses the first one encountered. The :user part is # left of the separator and the :detail part is right. This setting # is also used by Dovecot's LMTP service. #recipient_delimiter = + # The maximum size of a Sieve script. The compiler will refuse to # compile any script larger than this limit. #sieve_max_script_size = 1M # The maximum number of actions that can be performed during a single # script execution. #sieve_max_actions = 32 # The maximum number of redirect actions that can be performed during # a single script execution. #sieve_max_redirects = 4 # The maximum number of personal Sieve scripts a single user can have. # (Currently only relevant for ManageSieve) #sieve_quota_max_scripts = 0 # The maximum amount of disk storage a single user's scripts may occupy. # (Currently only relevant for ManageSieve) #sieve_quota_max_storage = 0 } These are the managesieve specific settings in Dovecot v.2 ## ## ManageSieve specific settings ## # Service definitions service managesieve-login { #inet_listener sieve { # port = 4190 #} #inet_listener sieve_deprecated { # port = 2000 #} # Number of connections to handle before starting a new process. Typically # the only useful values are 0 (unlimited) or 1. 1 is more secure, but 0 # is faster. <doc/wiki/LoginProcess.txt> #service_count = 1 # Number of processes to always keep waiting for more connections. #process_min_avail = 0 # If you set service_count=0, you probably need to grow this. #vsz_limit = 64M } service managesieve { # Max. number of ManageSieve processes (connections) #process_count = 1024 } # Service configuration protocol sieve { # Maximum ManageSieve command line length in bytes. ManageSieve usually does # not involve overly long command lines, so this setting will not normally need # adjustment #managesieve_max_line_length = 65536 # Maximum number of ManageSieve connections allowed for a user from each IP address. # NOTE: The username is compared case-sensitively. #mail_max_userip_connections = 10 # Space separated list of plugins to load (none known to be useful so far). Do NOT # try to load IMAP plugins here. #mail_plugins = # MANAGESIEVE logout format string: # %i - total number of bytes read from client # %o - total number of bytes sent to client #managesieve_logout_format = bytes=%i/%o # To fool ManageSieve clients that are focused on CMU's timesieved you can specify # the IMPLEMENTATION capability that the dovecot reports to clients. # For example: 'Cyrus timsieved v2.2.13' #managesieve_implementation_string = Dovecot Pigeonhole # Explicitly specify the SIEVE and NOTIFY capability reported by the server before # login. If left unassigned these will be reported dynamically according to what # the Sieve interpreter supports by default (after login this may differ depending # on the user). #managesieve_sieve_capability = #managesieve_notify_capability = # The maximum number of compile errors that are returned to the client upon script # upload or script verification. #managesieve_max_compile_errors = 5 # Refer to 90-sieve.conf for script quota configuration and configuration of # Sieve execution limits. } Ultimately I would like the sieve scripts of each client to be stored in their own folder with a quota limit and be able to manage their own webmail client folders and themes manageable entirely from the ISPConfig interface but I am still learning about the sieve protocol so it will take me a while. |
So what is actually your problem / question? Sorry if I got lost between the lines...
|
I do not have a question or problem other than my local delivery at the moment.
I am thinking that it would be a better idea to manage sieve as a service rather than a protocol. That is all.:) |
Sorry - but I needed a while to think of that.
You should have no problem with that because isp_sieverules does not care about how managesieve is run. As far as I'm concerned also managesieve (run as a daemon) utilizes *.sieve files (or am I wrong here?). So all isp_sieverules does is to catch the script BEFORE it is actually written and pass it on to ISPConfig. The via the api-functions it is integrated. So it does not matter if its a daemon or whatever. You should have not problems actually. |
Quote:
Quote:
Installer runs fine so far but I am still testing. |
| All times are GMT +2. The time now is 08:42. |
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2013, vBulletin Solutions, Inc.