From 55d173c394f02f6ff70214601958b67cca087cbd Mon Sep 17 00:00:00 2001 From: Julien Moutinho Date: Sun, 26 Jun 2016 12:47:19 +0200 Subject: [PATCH] Modification : roundcube : managesieve -> sieverules. --- etc/roundcube/main.inc.php | 208 +++++++++++++++++++++++++------------ 1 file changed, 139 insertions(+), 69 deletions(-) diff --git a/etc/roundcube/main.inc.php b/etc/roundcube/main.inc.php index 94a5edc..fe07d34 100644 --- a/etc/roundcube/main.inc.php +++ b/etc/roundcube/main.inc.php @@ -377,7 +377,7 @@ $rcmail_config['plugins'] = array( 'userinfo', #'hide_blockquote', #'markasjunk2', - 'managesieve', + #'managesieve', 'chbox', #'markasjunk', 'junk_keyword', @@ -385,6 +385,7 @@ $rcmail_config['plugins'] = array( #'all_folder_search', 'show_additional_headers', #'subscriptions_option', + 'sieverules', 'threading_as_default', 'thunderbird_labels', ); @@ -409,74 +410,6 @@ $rcmail_config['acl_users_field'] = 'mail'; // The LDAP search filter will be &'d with search queries $rcmail_config['acl_users_filter'] = ''; -// ---------------------------------- -// plugin managesieve -// ---------------------------------- - -// managesieve server port -$rcmail_config['managesieve_port'] = 4190; - -// managesieve server address, default is localhost. -// Replacement variables supported in host name: -// %h - user's IMAP hostname -// %n - http hostname ($_SERVER['SERVER_NAME']) -// %d - domain (http hostname without the first part) -// For example %n = mail.domain.tld, %d = domain.tld -$rcmail_config['managesieve_host'] = 'localhost'; - -// authentication method. Can be CRAM-MD5, DIGEST-MD5, PLAIN, LOGIN, EXTERNAL -// or none. Optional, defaults to best method supported by server. -$rcmail_config['managesieve_auth_type'] = null; - -// Optional managesieve authentication identifier to be used as authorization proxy. -// Authenticate as a different user but act on behalf of the logged in user. -// Works with PLAIN and DIGEST-MD5 auth. -$rcmail_config['managesieve_auth_cid'] = null; - -// Optional managesieve authentication password to be used for imap_auth_cid -$rcmail_config['managesieve_auth_pw'] = null; - -// use or not TLS for managesieve server connection -// it's because I've problems with TLS and dovecot's managesieve plugin -// and it's not needed on localhost -$rcmail_config['managesieve_usetls'] = false; - -// default contents of filters script (eg. default spam filter) -$rcmail_config['managesieve_default'] = '/home/mail/sieve/global.d'; - -// The name of the script which will be used when there's no user script -$rcmail_config['managesieve_script_name'] = 'roundcube'; - -// Sieve RFC says that we should use UTF-8 endcoding for mailbox names, -// but some implementations does not covert UTF-8 to modified UTF-7. -// Defaults to UTF7-IMAP -$rcmail_config['managesieve_mbox_encoding'] = 'UTF-8'; - -// I need this because my dovecot (with listescape plugin) uses -// ':' delimiter, but creates folders with dot delimiter -$rcmail_config['managesieve_replace_delimiter'] = ''; - -// disabled sieve extensions (body, copy, date, editheader, encoded-character, -// envelope, environment, ereject, fileinto, ihave, imap4flags, index, -// mailbox, mboxmetadata, regex, reject, relational, servermetadata, -// spamtest, spamtestplus, subaddress, vacation, variables, virustest, etc. -// Note: not all extensions are implemented -$rcmail_config['managesieve_disabled_extensions'] = array(); - -// Enables debugging of conversation with sieve server. Logs it into /sieve -$rcmail_config['managesieve_debug'] = true; - -// Enables features described in http://wiki.kolab.org/KEP:14 -$rcmail_config['managesieve_kolab_master'] = false; - -// Script name extension used for scripts including. Dovecot uses '.sieve', -// Cyrus uses '.siv'. Doesn't matter if you have managesieve_kolab_master disabled. -$rcmail_config['managesieve_filename_extension'] = '.sieve'; - -// List of reserved script names (without extension). -// Scripts listed here will be not presented to the user. -$rcmail_config['managesieve_filename_exceptions'] = array(); - // ---------------------------------- // plugin password // ---------------------------------- @@ -990,4 +923,141 @@ $rcmail_config['spellcheck_before_send'] = false; // Skip alternative email addresses in autocompletion (show one address per contact) $rcmail_config['autocomplete_single'] = false; + +// ---------------------------------- +// plugin sieverules +// ---------------------------------- + +// managesieve server address +// The host can contain the following macros that will be expanded as follows: +// %h - user's IMAP hostname +// %n - http hostname ($_SERVER['SERVER_NAME']) +// %d - domain (http hostname without the first part) +// For example %n = mail.domain.tld, %d = domain.tld +$rcmail_config['sieverules_host'] = 'localhost'; + +// managesieve server port +$rcmail_config['sieverules_port'] = 4190; + +// Log managesieve conversation to /sieverules or to syslog +$rcmail_config['sieverules_debug'] = false; + +// authentication method. Can be CRAM-MD5, DIGEST-MD5, PLAIN, LOGIN, EXTERNAL +// or none. Optional, defaults to best method supported by server. +$rcmail_config['sieverules_auth_type'] = null; + +// optional managesieve authentication identifier to be used as authorization proxy, +// authenticate as a different user but act on behalf of the logged in user, +// works with PLAIN and DIGEST-MD5 auth. +$rcmail_config['sieverules_auth_cid'] = null; + +// optional managesieve authentication password to be used for sieverules_auth_cid +$rcmail_config['sieverules_auth_pw'] = null; + +// enable TLS for managesieve server connection +$rcmail_config['sieverules_usetls'] = FALSE; + +// folder delimiter - if your sieve system uses a different folder delimiter to +// your IMAP server set it here, otherwise leave as null to use IMAP delimiter +$rcmail_config['sieverules_folder_delimiter'] = null; + +// Sieve RFC says that we should use UTF-8 encoding for mailbox names, +// but some implementations does not covert UTF-8 to modified UTF-7. +// set to null for default behaviour +$rcmail_config['sieverules_folder_encoding'] = null; + +// include the IMAP root in the folder path when creating the rules +// set to false to never include the IMAP root in the folder path +// set to null for default behaviour +$rcmail_config['sieverules_include_imap_root'] = null; + +// ruleset name +$rcmail_config['sieverules_ruleset_name'] = 'roundcube'; + +// allow multiple actions +$rcmail_config['sieverules_multiple_actions'] = TRUE; + +// allowed actions +$rcmail_config['sieverules_allowed_actions'] = array( + 'fileinto' => TRUE, + 'vacation' => TRUE, + 'reject' => TRUE, + 'redirect' => TRUE, + 'keep' => TRUE, + 'discard' => TRUE, + 'imapflags' => TRUE, + 'notify' => TRUE, + 'stop' => TRUE + ); + +// headers listed as examples of "Other headers" +$rcmail_config['sieverules_other_headers'] = array( + 'Reply-To', 'List-Id', 'MailingList', 'Mailing-List', + 'X-ML-Name', 'X-List', 'X-List-Name', 'X-Mailing-List', + 'Resent-From', 'Resent-To', 'X-Mailer', 'X-MailingList', + 'X-Spam-Status', 'X-Priority', 'Importance', 'X-MSMail-Priority', + 'Precedence', 'Return-Path', 'Received', 'Auto-Submitted', + 'X-Spam-Flag', 'X-Spam-Tests', 'Sender', + ); + +// Predefined rules +// each rule should be in it own array - examples provided in README +// 'name' => name of the rule, displayed in the rule type select box +// 'type' => one of: header, address, envelope, size +// 'header' => name of the header to test +// 'operator' => operator to use, for all possible values please see README +// 'extra' => extra information needed for the rule in some cases +// 'target' => value that the header is tested against +$rcmail_config['sieverules_predefined_rules'] = array(); + +// Advanced editor +// allows the user to edit the sieve file directly, without the restrictions of the normal UI +// 0 - Disabled, option not shown in the UI +// 1 - Enabled, option shown in the UI +// 2 - Option shown in the UI and used by default +$rcmail_config['sieverules_adveditor'] = 1; + +// Allow users to use multiple rulesets +$rcmail_config['sieverules_multiplerules'] = TRUE; + +// Default (or global) sieve rule file +$rcmail_config['sieverules_default_file'] = '/etc/dovecot/sieve/default'; + +// Auto load default sieve rule file if no rules exist and no import filters match +$rcmail_config['sieverules_auto_load_default'] = FALSE; + +// Example sieve rule file +$rcmail_config['sieverules_example_file'] = '/etc/dovecot/sieve/example'; + +// Force the :addresses line to always be added to new vacation rules +// Some sieve setups require that the :address part of a vacation rule is always present for the message to be sent +// Cyrus setups need this to option set to true +$rcmail_config['sieverules_force_vacto'] = FALSE; + +// Limit the selection of :addresses available to only those setup in as an identity +// Setting this to false will give the user a textbox to enter in any address(es) they like, rather than a list of checkboxes +$rcmail_config['sieverules_limit_vacto'] = TRUE; + +// Allow users to set the :from option when creating new vacation rules, not all servers support this option +// If your server supports the variables extension users also have an 'auto detect' option which will detect the address to which the message was sent +// Else the user's default identity will be used as the default value +$rcmail_config['sieverules_show_vacfrom'] = FALSE; + +// Allow users to set the :handle option when creating new vacation rules, not all servers support this option +$rcmail_config['sieverules_show_vachandle'] = FALSE; + +// The rule file can be written as one IF/ELSIF statement or as a series of unrelated IF statements +// TRUE - one IF/ELSIF statement (default) +// FALSE - a series of unrelated IF statements +$rcmail_config['sieverules_use_elsif'] = TRUE; + +// Fileinto action options +// 0 - List only subscribed folders +// 1 - List subscribed and unsubscribed folders +// 2 - List subscribed and unsubscribed folders and allow users to enter a folder name (for advanced users only, requires sieve mailbox extension) +$rcmail_config['sieverules_fileinto_options'] = 0; + +// For information on customising the rule file see "The structure of the rule file" in the README +// For information on customising the contents of the drop downs see "Default values for header, operator and flag drop downs" in the README + // end of config file -- 2.20.1