summaryrefslogtreecommitdiff
path: root/templates/virtual
diff options
context:
space:
mode:
authorSilvio Rhatto <rhatto@riseup.net>2013-01-22 14:56:59 -0200
committerSilvio Rhatto <rhatto@riseup.net>2013-01-22 14:56:59 -0200
commitbeb9ced0191a9c6804332bd741ba30d4eee0040a (patch)
treee9513f0f4d5f77f1a2702b1a91bb65233ed88951 /templates/virtual
parent0dce0e69ff64b8c98c0854c33be6886d433dedfb (diff)
downloadpuppet-mail-beb9ced0191a9c6804332bd741ba30d4eee0040a.tar.gz
puppet-mail-beb9ced0191a9c6804332bd741ba30d4eee0040a.tar.bz2
Major refactor
Diffstat (limited to 'templates/virtual')
-rw-r--r--templates/virtual/database/mysql_virtual_alias_domain_catchall_maps.cf.erb5
-rw-r--r--templates/virtual/database/mysql_virtual_alias_domain_mailbox_maps.cf.erb5
-rw-r--r--templates/virtual/database/mysql_virtual_alias_domain_maps.cf.erb5
-rw-r--r--templates/virtual/database/mysql_virtual_alias_maps.cf.erb6
-rw-r--r--templates/virtual/database/mysql_virtual_domains_maps.cf.erb9
-rw-r--r--templates/virtual/database/mysql_virtual_mailbox_limit_maps.cf.erb5
-rw-r--r--templates/virtual/database/mysql_virtual_mailbox_maps.cf.erb6
-rw-r--r--templates/virtual/postfixadmin/config.inc.php.erb444
-rw-r--r--templates/virtual/roundcube/main.inc.php.erb802
9 files changed, 1287 insertions, 0 deletions
diff --git a/templates/virtual/database/mysql_virtual_alias_domain_catchall_maps.cf.erb b/templates/virtual/database/mysql_virtual_alias_domain_catchall_maps.cf.erb
new file mode 100644
index 0000000..daa4b06
--- /dev/null
+++ b/templates/virtual/database/mysql_virtual_alias_domain_catchall_maps.cf.erb
@@ -0,0 +1,5 @@
+user = <%= scope.lookupvar('mail::virtual::database_user') %>
+password = <%= scope.lookupvar('mail::virtual::database_password') %>
+hosts = <%= scope.lookupvar('mail::virtual::database_host') %>
+dbname = <%= scope.lookupvar('mail::virtual::database_name') %>
+query = SELECT goto FROM alias,alias_domain WHERE alias_domain.alias_domain = '%d' and alias.address = CONCAT('@', alias_domain.target_domain) AND alias.active = 1 AND alias_domain.active='1'
diff --git a/templates/virtual/database/mysql_virtual_alias_domain_mailbox_maps.cf.erb b/templates/virtual/database/mysql_virtual_alias_domain_mailbox_maps.cf.erb
new file mode 100644
index 0000000..9f16c20
--- /dev/null
+++ b/templates/virtual/database/mysql_virtual_alias_domain_mailbox_maps.cf.erb
@@ -0,0 +1,5 @@
+user = <%= scope.lookupvar('mail::virtual::database_user') %>
+password = <%= scope.lookupvar('mail::virtual::database_password') %>
+hosts = <%= scope.lookupvar('mail::virtual::database_host') %>
+dbname = <%= scope.lookupvar('mail::virtual::database_name') %>
+query = SELECT maildir FROM mailbox,alias_domain WHERE alias_domain.alias_domain = '%d' and mailbox.username = CONCAT('%u', '@', alias_domain.target_domain) AND mailbox.active = 1 AND alias_domain.active='1'
diff --git a/templates/virtual/database/mysql_virtual_alias_domain_maps.cf.erb b/templates/virtual/database/mysql_virtual_alias_domain_maps.cf.erb
new file mode 100644
index 0000000..1edf8e3
--- /dev/null
+++ b/templates/virtual/database/mysql_virtual_alias_domain_maps.cf.erb
@@ -0,0 +1,5 @@
+user = <%= scope.lookupvar('mail::virtual::database_user') %>
+password = <%= scope.lookupvar('mail::virtual::database_password') %>
+hosts = <%= scope.lookupvar('mail::virtual::database_host') %>
+dbname = <%= scope.lookupvar('mail::virtual::database_name') %>
+query = SELECT goto FROM alias,alias_domain WHERE alias_domain.alias_domain = '%d' and alias.address = CONCAT('%u', '@', alias_domain.target_domain) AND alias.active = 1 AND alias_domain.active='1'
diff --git a/templates/virtual/database/mysql_virtual_alias_maps.cf.erb b/templates/virtual/database/mysql_virtual_alias_maps.cf.erb
new file mode 100644
index 0000000..0553bc4
--- /dev/null
+++ b/templates/virtual/database/mysql_virtual_alias_maps.cf.erb
@@ -0,0 +1,6 @@
+user = <%= scope.lookupvar('mail::virtual::database_user') %>
+password = <%= scope.lookupvar('mail::virtual::database_password') %>
+hosts = <%= scope.lookupvar('mail::virtual::database_host') %>
+dbname = <%= scope.lookupvar('mail::virtual::database_name') %>
+query = SELECT goto FROM alias WHERE address='%s' AND active = '1'
+#expansion_limit = 100
diff --git a/templates/virtual/database/mysql_virtual_domains_maps.cf.erb b/templates/virtual/database/mysql_virtual_domains_maps.cf.erb
new file mode 100644
index 0000000..cb1322f
--- /dev/null
+++ b/templates/virtual/database/mysql_virtual_domains_maps.cf.erb
@@ -0,0 +1,9 @@
+user = <%= scope.lookupvar('mail::virtual::database_user') %>
+password = <%= scope.lookupvar('mail::virtual::database_password') %>
+hosts = <%= scope.lookupvar('mail::virtual::database_host') %>
+dbname = <%= scope.lookupvar('mail::virtual::database_name') %>
+query = SELECT domain FROM domain WHERE domain='%s' AND active = '1'
+#query = SELECT domain FROM domain WHERE domain='%s'
+#optional query to use when relaying for backup MX
+#query = SELECT domain FROM domain WHERE domain='%s' AND backupmx = '0' AND active = '1'
+#expansion_limit = 100
diff --git a/templates/virtual/database/mysql_virtual_mailbox_limit_maps.cf.erb b/templates/virtual/database/mysql_virtual_mailbox_limit_maps.cf.erb
new file mode 100644
index 0000000..2b9f837
--- /dev/null
+++ b/templates/virtual/database/mysql_virtual_mailbox_limit_maps.cf.erb
@@ -0,0 +1,5 @@
+user = <%= scope.lookupvar('mail::virtual::database_user') %>
+password = <%= scope.lookupvar('mail::virtual::database_password') %>
+hosts = <%= scope.lookupvar('mail::virtual::database_host') %>
+dbname = <%= scope.lookupvar('mail::virtual::database_name') %>
+query = SELECT quota FROM mailbox WHERE username='%s' AND active = '1'
diff --git a/templates/virtual/database/mysql_virtual_mailbox_maps.cf.erb b/templates/virtual/database/mysql_virtual_mailbox_maps.cf.erb
new file mode 100644
index 0000000..c90938f
--- /dev/null
+++ b/templates/virtual/database/mysql_virtual_mailbox_maps.cf.erb
@@ -0,0 +1,6 @@
+user = <%= scope.lookupvar('mail::virtual::database_user') %>
+password = <%= scope.lookupvar('mail::virtual::database_password') %>
+hosts = <%= scope.lookupvar('mail::virtual::database_host') %>
+dbname = <%= scope.lookupvar('mail::virtual::database_name') %>
+query = SELECT maildir FROM mailbox WHERE username='%s' AND active = '1'
+#expansion_limit = 100
diff --git a/templates/virtual/postfixadmin/config.inc.php.erb b/templates/virtual/postfixadmin/config.inc.php.erb
new file mode 100644
index 0000000..404dcb3
--- /dev/null
+++ b/templates/virtual/postfixadmin/config.inc.php.erb
@@ -0,0 +1,444 @@
+<?php
+/**
+ * Postfix Admin
+ *
+ * LICENSE
+ * This source file is subject to the GPL license that is bundled with
+ * this package in the file LICENSE.TXT.
+ *
+ * Further details on the project are available at :
+ * http://www.postfixadmin.com or http://postfixadmin.sf.net
+ *
+ * @version $Id: config.inc.php 828 2010-05-17 22:56:23Z christian_boltz $
+ * @license GNU GPL v2 or later.
+ *
+ * File: config.inc.php
+ * Contains configuration options.
+ */
+
+/*****************************************************************
+ * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ * You have to set $CONF['configured'] = true; before the
+ * application will run!
+ * Doing this implies you have changed this file as required.
+ * i.e. configuring database etc; specifying setup.php password etc.
+ */
+$CONF['configured'] = true;
+
+// In order to setup Postfixadmin, you MUST specify a hashed password here.
+// To create the hash, visit setup.php in a browser and type a password into the field,
+// on submission it will be echoed out to you as a hashed value.
+$CONF['setup_password'] = '<%= postfixadmin_setup_hash %>';
+
+// Postfix Admin Path
+// Set the location of your Postfix Admin installation here.
+// YOU MUST ENTER THE COMPLETE URL e.g. http://domain.tld/postfixadmin
+$CONF['postfix_admin_url'] = '';
+
+// shouldn't need changing.
+$CONF['postfix_admin_path'] = dirname(__FILE__);
+
+// Language config
+// Language files are located in './languages', change as required..
+$CONF['default_language'] = 'en';
+
+// Database Config
+// mysql = MySQL 3.23 and 4.0, 4.1 or 5
+// mysqli = MySQL 4.1+
+// pgsql = PostgreSQL
+$CONF['database_type'] = 'mysql';
+$CONF['database_host'] = '<%= database_host %>';
+$CONF['database_user'] = '<%= database_user %>';
+$CONF['database_password'] = '<%= database_password %>';
+$CONF['database_name'] = '<%= database_name %>';
+$CONF['database_prefix'] = '';
+// If you need to specify a different port for a MYSQL database connection, use e.g.
+// $CONF['database_host'] = '172.30.33.66:3308';
+// If you need to specify a different port for POSTGRESQL database connection
+// uncomment and change the following
+// $CONF['database_port'] = '5432';
+
+
+// Here, if you need, you can customize table names.
+$CONF['database_prefix'] = '';
+$CONF['database_tables'] = array (
+ 'admin' => 'admin',
+ 'alias' => 'alias',
+ 'alias_domain' => 'alias_domain',
+ 'config' => 'config',
+ 'domain' => 'domain',
+ 'domain_admins' => 'domain_admins',
+ 'fetchmail' => 'fetchmail',
+ 'log' => 'log',
+ 'mailbox' => 'mailbox',
+ 'vacation' => 'vacation',
+ 'vacation_notification' => 'vacation_notification',
+ 'quota' => 'quota',
+ 'quota2' => 'quota2',
+);
+
+// Site Admin
+// Define the Site Admins email address below.
+// This will be used to send emails from to create mailboxes.
+$CONF['admin_email'] = 'postmaster@<%= domain %>';
+
+// Mail Server
+// Hostname (FQDN) of your mail server.
+// This is used to send email to Postfix in order to create mailboxes.
+$CONF['smtp_server'] = 'localhost';
+$CONF['smtp_port'] = '25';
+
+// Encrypt
+// In what way do you want the passwords to be crypted?
+// md5crypt = internal postfix admin md5
+// md5 = md5 sum of the password
+// system = whatever you have set as your PHP system default
+// cleartext = clear text passwords (ouch!)
+// mysql_encrypt = useful for PAM integration
+// authlib = support for courier-authlib style passwords
+// dovecot:CRYPT-METHOD = use dovecotpw -s 'CRYPT-METHOD'. Example: dovecot:CRAM-MD5
+$CONF['encrypt'] = 'md5crypt';
+
+// In what flavor should courier-authlib style passwords be enrypted?
+// md5 = {md5} + base64 encoded md5 hash
+// md5raw = {md5raw} + plain encoded md5 hash
+// SHA = {SHA} + base64-encoded sha1 hash
+// crypt = {crypt} + Standard UNIX DES-enrypted with 2-character salt
+$CONF['authlib_default_flavor'] = 'md5raw';
+
+// If you use the dovecot encryption method: where is the dovecotpw binary located?
+$CONF['dovecotpw'] = "/usr/sbin/dovecotpw";
+
+// Minimum length required for passwords. Postfixadmin will not
+// allow users to set passwords which are shorter than this value.
+$CONF['min_password_length'] = 5;
+
+// Generate Password
+// Generate a random password for a mailbox or admin and display it.
+// If you want to automagically generate paswords set this to 'YES'.
+$CONF['generate_password'] = 'NO';
+
+// Show Password
+// Always show password after adding a mailbox or admin.
+// If you want to always see what password was set set this to 'YES'.
+$CONF['show_password'] = 'NO';
+
+// Page Size
+// Set the number of entries that you would like to see
+// in one page.
+$CONF['page_size'] = '10';
+
+// Default Aliases
+// The default aliases that need to be created for all domains.
+$CONF['default_aliases'] = array (
+ 'abuse' => 'abuse@<%= domain %>',
+ 'hostmaster' => 'hostmaster@<%= domain %>',
+ 'postmaster' => 'postmaster@<%= domain %>',
+ 'webmaster' => 'webmaster@<%= domain %>'
+);
+
+// Mailboxes
+// If you want to store the mailboxes per domain set this to 'YES'.
+// Examples:
+// YES: /usr/local/virtual/domain.tld/username@domain.tld
+// NO: /usr/local/virtual/username@domain.tld
+$CONF['domain_path'] = 'NO';
+// If you don't want to have the domain in your mailbox set this to 'NO'.
+// Examples:
+// YES: /usr/local/virtual/domain.tld/username@domain.tld
+// NO: /usr/local/virtual/domain.tld/username
+// Note: If $CONF['domain_path'] is set to NO, this setting will be forced to YES.
+$CONF['domain_in_mailbox'] = 'YES';
+// If you want to define your own function to generate a maildir path set this to the name of the function.
+// Notes:
+// - this configuration directive will override both domain_path and domain_in_mailbox
+// - the maildir_name_hook() function example is present below, commented out
+// - if the function does not exist the program will default to the above domain_path and domain_in_mailbox settings
+$CONF['maildir_name_hook'] = 'NO';
+
+/*
+ maildir_name_hook example function
+
+ Called by create-mailbox.php if $CONF['maildir_name_hook'] == '<name_of_the_function>'
+ - allows for customized maildir paths determined by a custom function
+ - the example below will prepend a single-character directory to the
+ beginning of the maildir, splitting domains more or less evenly over
+ 36 directories for improved filesystem performance with large numbers
+ of domains.
+
+ Returns: maildir path
+ ie. I/example.com/user/
+*/
+/*
+function maildir_name_hook($domain, $user) {
+ $chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
+
+ $dir_index = hexdec(substr(md5($domain), 28)) % strlen($chars);
+ $dir = substr($chars, $dir_index, 1);
+ return sprintf("%s/%s/%s/", $dir, $domain, $user);
+}
+*/
+
+
+// Default Domain Values
+// Specify your default values below. Quota in MB.
+$CONF['aliases'] = '10';
+$CONF['mailboxes'] = '10';
+$CONF['maxquota'] = '10';
+
+// Quota
+// When you want to enforce quota for your mailbox users set this to 'YES'.
+$CONF['quota'] = 'NO';
+// You can either use '1024000' or '1048576'
+$CONF['quota_multiplier'] = '1024000';
+
+// Transport
+// If you want to define additional transport options for a domain set this to 'YES'.
+// Read the transport file of the Postfix documentation.
+$CONF['transport'] = 'NO';
+// Transport options
+// If you want to define additional transport options put them in array below.
+$CONF['transport_options'] = array (
+ 'virtual', // for virtual accounts
+ 'local', // for system accounts
+ 'relay' // for backup mx
+);
+// Transport default
+// You should define default transport. It must be in array above.
+$CONF['transport_default'] = 'virtual';
+
+// Virtual Vacation
+// If you want to use virtual vacation for you mailbox users set this to 'YES'.
+// NOTE: Make sure that you install the vacation module. (See VIRTUAL-VACATION/)
+$CONF['vacation'] = 'NO';
+// This is the autoreply domain that you will need to set in your Postfix
+// transport maps to handle virtual vacations. It does not need to be a
+// real domain (i.e. you don't need to setup DNS for it).
+$CONF['vacation_domain'] = 'autoreply.<%= domain %>';
+
+// Vacation Control
+// If you want users to take control of vacation set this to 'YES'.
+$CONF['vacation_control'] ='YES';
+
+// Vacation Control for admins
+// Set to 'YES' if your domain admins should be able to edit user vacation.
+$CONF['vacation_control_admin'] = 'YES';
+
+// Alias Control
+// Postfix Admin inserts an alias in the alias table for every mailbox it creates.
+// The reason for this is that when you want catch-all and normal mailboxes
+// to work you need to have the mailbox replicated in the alias table.
+// If you want to take control of these aliases as well set this to 'YES'.
+$CONF['alias_control'] = 'NO';
+
+// Alias Control for admins
+// Set to 'NO' if your domain admins shouldn't be able to edit user aliases.
+$CONF['alias_control_admin'] = 'NO';
+
+// Special Alias Control
+// Set to 'NO' if your domain admins shouldn't be able to edit default aliases.
+$CONF['special_alias_control'] = 'NO';
+
+// Alias Goto Field Limit
+// Set the max number of entries that you would like to see
+// in one 'goto' field in overview, the rest will be hidden and "[and X more...]" will be added.
+// '0' means no limits.
+$CONF['alias_goto_limit'] = '0';
+
+// Alias Domains
+// Alias domains allow to "mirror" aliases and mailboxes to another domain. This makes
+// configuration easier if you need the same set of aliases on multiple domains, but
+// also requires postfix to do more database queries.
+// Note: If you update from 2.2.x or earlier, you will have to update your postfix configuration.
+// Set to 'NO' to disable alias domains.
+$CONF['alias_domain'] = 'YES';
+
+// Backup
+// If you don't want backup tab set this to 'NO';
+$CONF['backup'] = 'YES';
+
+// Send Mail
+// If you don't want sendmail tab set this to 'NO';
+$CONF['sendmail'] = 'YES';
+
+// Logging
+// If you don't want logging set this to 'NO';
+$CONF['logging'] = 'YES';
+
+// Fetchmail
+// If you don't want fetchmail tab set this to 'NO';
+$CONF['fetchmail'] = 'YES';
+
+// fetchmail_extra_options allows users to specify any fetchmail options and any MDA
+// (it will even accept 'rm -rf /' as MDA!)
+// This should be set to NO, except if you *really* trust *all* your users.
+$CONF['fetchmail_extra_options'] = 'NO';
+
+// Header
+$CONF['show_header_text'] = 'NO';
+$CONF['header_text'] = ':: Postfix Admin ::';
+
+// link to display under 'Main' menu when logged in as a user.
+$CONF['user_footer_link'] = "http://<%= domain %>/main";
+
+// Footer
+// Below information will be on all pages.
+// If you don't want the footer information to appear set this to 'NO'.
+$CONF['show_footer_text'] = 'YES';
+$CONF['footer_text'] = 'Return to <%= domain %>';
+$CONF['footer_link'] = 'http://<%= domain %>';
+
+// Welcome Message
+// This message is send to every newly created mailbox.
+// Change the text between EOM.
+$CONF['welcome_text'] = <<<EOM
+Hi,
+
+Welcome to your new account.
+EOM;
+
+// When creating mailboxes or aliases, check that the domain-part of the
+// address is legal by performing a name server look-up.
+$CONF['emailcheck_resolve_domain']='YES';
+
+
+// Optional:
+// Analyze alias gotos and display a colored block in the first column
+// indicating if an alias or mailbox appears to deliver to a non-existent
+// account. Also, display indications, for POP/IMAP mailboxes and
+// for custom destinations (such as mailboxes that forward to a UNIX shell
+// account or mail that is sent to a MS exchange server, or any other
+// domain or subdomain you use)
+// See http://www.w3schools.com/html/html_colornames.asp for a list of
+// color names available on most browsers
+
+//set to YES to enable this feature
+$CONF['show_status']='NO';
+//display a guide to what these colors mean
+$CONF['show_status_key']='NO';
+// 'show_status_text' will be displayed with the background colors
+// associated with each status, you can customize it here
+$CONF['show_status_text']='&nbsp;&nbsp;';
+// show_undeliverable is useful if most accounts are delivered to this
+// postfix system. If many aliases and mailboxes are forwarded
+// elsewhere, you will probably want to disable this.
+$CONF['show_undeliverable']='NO';
+$CONF['show_undeliverable_color']='tomato';
+// mails to these domains will never be flagged as undeliverable
+$CONF['show_undeliverable_exceptions']=array("unixmail.domain.ext","exchangeserver.domain.ext","gmail.com");
+$CONF['show_popimap']='NO';
+$CONF['show_popimap_color']='darkgrey';
+// you can assign special colors to some domains. To do this,
+// - add the domain to show_custom_domains
+// - add the corresponding color to show_custom_colors
+$CONF['show_custom_domains']=array("subdomain.domain.ext","domain2.ext");
+$CONF['show_custom_colors']=array("lightgreen","lightblue");
+// If you use a recipient_delimiter in your postfix config, you can also honor it when aliases are checked.
+// Example: $CONF['recipient_delimiter'] = "+";
+// Set to "" to disable this check.
+$CONF['recipient_delimiter'] = "+";
+
+
+// Optional:
+// Script to run after creation of mailboxes.
+// Note that this may fail if PHP is run in "safe mode", or if
+// operating system features (such as SELinux) or limitations
+// prevent the web-server from executing external scripts.
+// Parameters: (1) username (2) domain (3) maildir (4) quota
+// $CONF['mailbox_postcreation_script']='sudo -u courier /usr/local/bin/postfixadmin-mailbox-postcreation.sh';
+
+// Optional:
+// Script to run after alteration of mailboxes.
+// Note that this may fail if PHP is run in "safe mode", or if
+// operating system features (such as SELinux) or limitations
+// prevent the web-server from executing external scripts.
+// Parameters: (1) username (2) domain (3) maildir (4) quota
+// $CONF['mailbox_postedit_script']='sudo -u courier /usr/local/bin/postfixadmin-mailbox-postedit.sh';
+
+// Optional:
+// Script to run after deletion of mailboxes.
+// Note that this may fail if PHP is run in "safe mode", or if
+// operating system features (such as SELinux) or limitations
+// prevent the web-server from executing external scripts.
+// Parameters: (1) username (2) domain
+// $CONF['mailbox_postdeletion_script']='sudo -u courier /usr/local/bin/postfixadmin-mailbox-postdeletion.sh';
+
+// Optional:
+// Script to run after creation of domains.
+// Note that this may fail if PHP is run in "safe mode", or if
+// operating system features (such as SELinux) or limitations
+// prevent the web-server from executing external scripts.
+// Parameters: (1) username
+//$CONF['domain_postcreation_script']='sudo -u courier /usr/local/bin/postfixadmin-domain-postcreation.sh';
+
+// Optional:
+// Script to run after deletion of domains.
+// Note that this may fail if PHP is run in "safe mode", or if
+// operating system features (such as SELinux) or limitations
+// prevent the web-server from executing external scripts.
+// Parameters: (1) username
+// $CONF['domain_postdeletion_script']='sudo -u courier /usr/local/bin/postfixadmin-domain-postdeletion.sh';
+
+// Optional:
+// Sub-folders which should automatically be created for new users.
+// The sub-folders will also be subscribed to automatically.
+// Will only work with IMAP server which implement sub-folders.
+// Will not work with POP3.
+// If you define create_mailbox_subdirs, then the
+// create_mailbox_subdirs_host must also be defined.
+//
+// $CONF['create_mailbox_subdirs']=array('Spam');
+// $CONF['create_mailbox_subdirs_host']='localhost';
+//
+// Specify '' for Dovecot and 'INBOX.' for Courier.
+$CONF['create_mailbox_subdirs_prefix']='INBOX.';
+
+// Optional:
+// Show used quotas from Dovecot dictionary backend in virtual
+// mailbox listing.
+// See: DOCUMENTATION/DOVECOT.txt
+// http://wiki.dovecot.org/Quota/Dict
+//
+$CONF['used_quotas'] = 'NO';
+
+// if you use dovecot >= 1.2, set this to yes.
+// Note about dovecot config: table "quota" is for 1.0 & 1.1, table "quota2" is for dovecot 1.2 and newer
+$CONF['new_quota_table'] = 'NO';
+
+//
+// Normally, the TCP port number does not have to be specified.
+// $CONF['create_mailbox_subdirs_hostport']=143;
+//
+// If you have trouble connecting to the IMAP-server, then specify
+// a value for $CONF['create_mailbox_subdirs_hostoptions']. These
+// are some examples to experiment with:
+// $CONF['create_mailbox_subdirs_hostoptions']=array('notls');
+// $CONF['create_mailbox_subdirs_hostoptions']=array('novalidate-cert','norsh');
+// See also the "Optional flags for names" table at
+// http://www.php.net/manual/en/function.imap-open.php
+
+
+// Theme Config
+// Specify your own logo and CSS file
+$CONF['theme_logo'] = 'images/logo-default.png';
+$CONF['theme_css'] = 'css/default.css';
+
+// XMLRPC Interface.
+// This should be only of use if you wish to use e.g the
+// Postfixadmin-Squirrelmail package
+// change to boolean true to enable xmlrpc
+$CONF['xmlrpc_enabled'] = false;
+
+
+// If you want to keep most settings at default values and/or want to ensure
+// that future updates work without problems, you can use a separate config
+// file (config.local.php) instead of editing this file and override some
+// settings there.
+if (file_exists(dirname(__FILE__) . '/config.local.php')) {
+ include(dirname(__FILE__) . '/config.local.php');
+}
+
+//
+// END OF CONFIG FILE
+//
+/* vim: set expandtab softtabstop=4 tabstop=4 shiftwidth=4: */
diff --git a/templates/virtual/roundcube/main.inc.php.erb b/templates/virtual/roundcube/main.inc.php.erb
new file mode 100644
index 0000000..5582ce0
--- /dev/null
+++ b/templates/virtual/roundcube/main.inc.php.erb
@@ -0,0 +1,802 @@
+<?php
+
+/*
++-----------------------------------------------------------------------+
+| Main configuration file |
+| |
+| This file is part of the Roundcube Webmail client |
+| Copyright (C) 2005-2011, The Roundcube Dev Team |
+| Licensed under the GNU GPL |
+| |
++-----------------------------------------------------------------------+
+
+*/
+
+$rcmail_config = array();
+
+// ----------------------------------
+// LOGGING/DEBUGGING
+// ----------------------------------
+
+// system error reporting: 1 = log; 2 = report (not implemented yet), 4 = show, 8 = trace
+$rcmail_config['debug_level'] = 1;
+
+// log driver: 'syslog' or 'file'.
+$rcmail_config['log_driver'] = 'file';
+
+// date format for log entries
+// (read http://php.net/manual/en/function.date.php for all format characters)
+$rcmail_config['log_date_format'] = 'd-M-Y H:i:s O';
+
+// Syslog ident string to use, if using the 'syslog' log driver.
+$rcmail_config['syslog_id'] = 'roundcube';
+
+// Syslog facility to use, if using the 'syslog' log driver.
+// For possible values see installer or http://php.net/manual/en/function.openlog.php
+$rcmail_config['syslog_facility'] = LOG_USER;
+
+// Log sent messages to <log_dir>/sendmail or to syslog
+$rcmail_config['smtp_log'] = true;
+
+// Log successful logins to <log_dir>/userlogins or to syslog
+$rcmail_config['log_logins'] = false;
+
+// Log session authentication errors to <log_dir>/session or to syslog
+$rcmail_config['log_session'] = false;
+
+// Log SQL queries to <log_dir>/sql or to syslog
+$rcmail_config['sql_debug'] = false;
+
+// Log IMAP conversation to <log_dir>/imap or to syslog
+$rcmail_config['imap_debug'] = false;
+
+// Log LDAP conversation to <log_dir>/ldap or to syslog
+$rcmail_config['ldap_debug'] = false;
+
+// Log SMTP conversation to <log_dir>/smtp or to syslog
+$rcmail_config['smtp_debug'] = false;
+
+// ----------------------------------
+// IMAP
+// ----------------------------------
+
+// the mail host chosen to perform the log-in
+// leave blank to show a textbox at login, give a list of hosts
+// to display a pulldown menu or set one host as string.
+// To use SSL/TLS connection, enter hostname with prefix ssl:// or tls://
+// Supported replacement variables:
+// %n - http hostname ($_SERVER['SERVER_NAME'])
+// %d - domain (http hostname without the first part)
+// %s - domain name after the '@' from e-mail address provided at login screen
+// For example %n = mail.domain.tld, %d = domain.tld
+$rcmail_config['default_host'] = 'localhost';
+
+// TCP port used for IMAP connections
+$rcmail_config['default_port'] = 143;
+
+// IMAP AUTH type (DIGEST-MD5, CRAM-MD5, LOGIN, PLAIN or empty to use
+// best server supported one)
+$rcmail_config['imap_auth_type'] = null;
+
+// If you know your imap's folder delimiter, you can specify it here.
+// Otherwise it will be determined automatically
+$rcmail_config['imap_delimiter'] = null;
+
+// If IMAP server doesn't support NAMESPACE extension, but you're
+// using shared folders or personal root folder is non-empty, you'll need to
+// set these options. All can be strings or arrays of strings.
+// Folders need to be ended with directory separator, e.g. "INBOX."
+// (special directory "~" is an exception to this rule)
+// These can be used also to overwrite server's namespaces
+$rcmail_config['imap_ns_personal'] = null;
+$rcmail_config['imap_ns_other'] = null;
+$rcmail_config['imap_ns_shared'] = null;
+
+// By default IMAP capabilities are readed after connection to IMAP server
+// In some cases, e.g. when using IMAP proxy, there's a need to refresh the list
+// after login. Set to True if you've got this case.
+$rcmail_config['imap_force_caps'] = false;
+
+// By default list of subscribed folders is determined using LIST-EXTENDED
+// extension if available. Some servers (dovecot 1.x) returns wrong results
+// for shared namespaces in this case. http://trac.roundcube.net/ticket/1486225
+// Enable this option to force LSUB command usage instead.
+$rcmail_config['imap_force_lsub'] = false;
+
+// IMAP connection timeout, in seconds. Default: 0 (no limit)
+$rcmail_config['imap_timeout'] = 0;
+
+// Optional IMAP authentication identifier to be used as authorization proxy
+$rcmail_config['imap_auth_cid'] = null;
+
+// Optional IMAP authentication password to be used for imap_auth_cid
+$rcmail_config['imap_auth_pw'] = null;
+
+// Type of IMAP indexes cache. Supported values: 'db', 'apc' and 'memcache'.
+$rcmail_config['imap_cache'] = null;
+
+// Enables messages cache. Only 'db' cache is supported.
+$rcmail_config['messages_cache'] = false;
+
+
+// ----------------------------------
+// SMTP
+// ----------------------------------
+
+// SMTP server host (for sending mails).
+// To use SSL/TLS connection, enter hostname with prefix ssl:// or tls://
+// If left blank, the PHP mail() function is used
+// Supported replacement variables:
+// %h - user's IMAP hostname
+// %n - http hostname ($_SERVER['SERVER_NAME'])
+// %d - domain (http hostname without the first part)
+// %z - IMAP domain (IMAP hostname without the first part)
+// For example %n = mail.domain.tld, %d = domain.tld
+$rcmail_config['smtp_server'] = '';
+
+// SMTP port (default is 25; 465 for SSL)
+$rcmail_config['smtp_port'] = 25;
+
+// SMTP username (if required) if you use %u as the username Roundcube
+// will use the current username for login
+$rcmail_config['smtp_user'] = '';
+
+// SMTP password (if required) if you use %p as the password Roundcube
+// will use the current user's password for login
+$rcmail_config['smtp_pass'] = '';
+
+// SMTP AUTH type (DIGEST-MD5, CRAM-MD5, LOGIN, PLAIN or empty to use
+// best server supported one)
+$rcmail_config['smtp_auth_type'] = '';
+
+// Optional SMTP authentication identifier to be used as authorization proxy
+$rcmail_config['smtp_auth_cid'] = null;
+
+// Optional SMTP authentication password to be used for smtp_auth_cid
+$rcmail_config['smtp_auth_pw'] = null;
+
+// SMTP HELO host
+// Hostname to give to the remote server for SMTP 'HELO' or 'EHLO' messages
+// Leave this blank and you will get the server variable 'server_name' or
+// localhost if that isn't defined.
+$rcmail_config['smtp_helo_host'] = '';
+
+// SMTP connection timeout, in seconds. Default: 0 (no limit)
+$rcmail_config['smtp_timeout'] = 0;
+
+// ----------------------------------
+// SYSTEM
+// ----------------------------------
+
+// THIS OPTION WILL ALLOW THE INSTALLER TO RUN AND CAN EXPOSE SENSITIVE CONFIG DATA.
+// ONLY ENABLE IT IF YOU'RE REALLY SURE WHAT YOU'RE DOING!
+$rcmail_config['enable_installer'] = false;
+
+// use this folder to store log files (must be writeable for apache user)
+// This is used by the 'file' log driver.
+$rcmail_config['log_dir'] = 'logs/';
+
+// use this folder to store temp files (must be writeable for apache user)
+$rcmail_config['temp_dir'] = 'temp/';
+
+// lifetime of message cache
+// possible units: s, m, h, d, w
+$rcmail_config['message_cache_lifetime'] = '10d';
+
+// enforce connections over https
+// with this option enabled, all non-secure connections will be redirected.
+// set the port for the ssl connection as value of this option if it differs from the default 443
+$rcmail_config['force_https'] = false;
+
+// tell PHP that it should work as under secure connection
+// even if it doesn't recognize it as secure ($_SERVER['HTTPS'] is not set)
+// e.g. when you're running Roundcube behind a https proxy
+$rcmail_config['use_https'] = false;
+
+// Allow browser-autocompletion on login form.
+// 0 - disabled, 1 - username and host only, 2 - username, host, password
+$rcmail_config['login_autocomplete'] = 0;
+
+// If users authentication is not case sensitive this must be enabled.
+// You can also use it to force conversion of logins to lower case.
+// After enabling it all user records need to be updated, e.g. with query:
+// UPDATE users SET username = LOWER(username);
+$rcmail_config['login_lc'] = false;
+
+// automatically create a new Roundcube user when log-in the first time.
+// a new user will be created once the IMAP login succeeds.
+// set to false if only registered users can use this service
+$rcmail_config['auto_create_user'] = true;
+
+// replace Roundcube logo with this image
+// specify an URL relative to the document root of this Roundcube installation
+$rcmail_config['skin_logo'] = <%= roundcube_logo %>;
+
+// Includes should be interpreted as PHP files
+$rcmail_config['skin_include_php'] = false;
+
+// Session lifetime in minutes
+// must be greater than 'keep_alive'/60
+$rcmail_config['session_lifetime'] = 10;
+
+// session domain: .example.org
+$rcmail_config['session_domain'] = '';
+
+// session name. Default: 'roundcube_sessid'
+$rcmail_config['session_name'] = null;
+
+// Backend to use for session storage. Can either be 'db' (default) or 'memcache'
+// If set to memcache, a list of servers need to be specified in 'memcache_hosts'
+// Make sure the Memcache extension (http://pecl.php.net/package/memcache) version >= 2.0.0 is installed
+$rcmail_config['session_storage'] = 'db';
+
+// Use these hosts for accessing memcached
+// Define any number of hosts in the form hostname:port
+$rcmail_config['memcache_hosts'] = null; // e.g. array( 'localhost:11211', '192.168.1.12:11211' );
+
+// check client IP in session athorization
+$rcmail_config['ip_check'] = false;
+
+// check referer of incoming requests
+$rcmail_config['referer_check'] = false;
+
+// X-Frame-Options HTTP header value sent to prevent from Clickjacking.
+// Possible values: sameorigin|deny. Set to false in order to disable sending them
+$rcmail_config['x_frame_options'] = 'sameorigin';
+
+// this key is used to encrypt the users imap password which is stored
+// in the session record (and the client cookie if remember password is enabled).
+// please provide a string of exactly 24 chars.
+$rcmail_config['des_key'] = '<%= roundcube_des_key %>';
+
+// Automatically add this domain to user names for login
+// Only for IMAP servers that require full e-mail addresses for login
+// Specify an array with 'host' => 'domain' values to support multiple hosts
+// Supported replacement variables:
+// %h - user's IMAP hostname
+// %n - http hostname ($_SERVER['SERVER_NAME'])
+// %d - domain (http hostname without the first part)
+// %z - IMAP domain (IMAP hostname without the first part)
+// For example %n = mail.domain.tld, %d = domain.tld
+$rcmail_config['username_domain'] = '';
+
+// This domain will be used to form e-mail addresses of new users
+// Specify an array with 'host' => 'domain' values to support multiple hosts
+// Supported replacement variables:
+// %h - user's IMAP hostname
+// %n - http hostname ($_SERVER['SERVER_NAME'])
+// %d - domain (http hostname without the first part)
+// %z - IMAP domain (IMAP hostname without the first part)
+// For example %n = mail.domain.tld, %d = domain.tld
+$rcmail_config['mail_domain'] = '';
+
+// Password charset.
+// Use it if your authentication backend doesn't support UTF-8.
+// Defaults to ISO-8859-1 for backward compatibility
+$rcmail_config['password_charset'] = 'ISO-8859-1';
+
+// How many seconds must pass between emails sent by a user
+$rcmail_config['sendmail_delay'] = 0;
+
+// Maximum number of recipients per message. Default: 0 (no limit)
+$rcmail_config['max_recipients'] = 0;
+
+// Maximum allowednumber of members of an address group. Default: 0 (no limit)
+// If 'max_recipients' is set this value should be less or equal
+$rcmail_config['max_group_members'] = 0;
+
+// add this user-agent to message headers when sending
+$rcmail_config['useragent'] = 'Roundcube Webmail/'.RCMAIL_VERSION;
+
+// use this name to compose page titles
+$rcmail_config['product_name'] = 'Roundcube Webmail';
+
+// try to load host-specific configuration
+// see http://trac.roundcube.net/wiki/Howto_Config for more details
+$rcmail_config['include_host_config'] = false;
+
+// path to a text file which will be added to each sent message
+// paths are relative to the Roundcube root folder
+$rcmail_config['generic_message_footer'] = '';
+
+// path to a text file which will be added to each sent HTML message
+// paths are relative to the Roundcube root folder
+$rcmail_config['generic_message_footer_html'] = '';
+
+// add a received header to outgoing mails containing the creators IP and hostname
+$rcmail_config['http_received_header'] = false;
+
+// Whether or not to encrypt the IP address and the host name
+// these could, in some circles, be considered as sensitive information;
+// however, for the administrator, these could be invaluable help
+// when tracking down issues.
+$rcmail_config['http_received_header_encrypt'] = false;
+
+// This string is used as a delimiter for message headers when sending
+// a message via mail() function. Leave empty for auto-detection
+$rcmail_config['mail_header_delimiter'] = NULL;
+
+// number of chars allowed for line when wrapping text.
+// text wrapping is done when composing/sending messages
+$rcmail_config['line_length'] = 72;
+
+// send plaintext messages as format=flowed
+$rcmail_config['send_format_flowed'] = true;
+
+// don't allow these settings to be overriden by the user
+$rcmail_config['dont_override'] = array();
+
+// Set identities access level:
+// 0 - many identities with possibility to edit all params
+// 1 - many identities with possibility to edit all params but not email address
+// 2 - one identity with possibility to edit all params
+// 3 - one identity with possibility to edit all params but not email address
+$rcmail_config['identities_level'] = 0;
+
+// Mimetypes supported by the browser.
+// attachments of these types will open in a preview window
+// either a comma-separated list or an array: 'text/plain,text/html,text/xml,image/jpeg,image/gif,image/png,application/pdf'
+$rcmail_config['client_mimetypes'] = null; # null == default
+
+// mime magic database
+$rcmail_config['mime_magic'] = '/usr/share/misc/magic';
+
+// path to imagemagick identify binary
+$rcmail_config['im_identify_path'] = null;
+
+// path to imagemagick convert binary
+$rcmail_config['im_convert_path'] = null;
+
+// maximum size of uploaded contact photos in pixel
+$rcmail_config['contact_photo_size'] = 160;
+
+// Enable DNS checking for e-mail address validation
+$rcmail_config['email_dns_check'] = false;
+
+// ----------------------------------
+// PLUGINS
+// ----------------------------------
+
+// List of active plugins (in plugins/ directory)
+$rcmail_config['plugins'] = array('login_info');
+
+// ----------------------------------
+// USER INTERFACE
+// ----------------------------------
+
+// default messages sort column. Use empty value for default server's sorting,
+// or 'arrival', 'date', 'subject', 'from', 'to', 'size', 'cc'
+$rcmail_config['message_sort_col'] = '';
+
+// default messages sort order
+$rcmail_config['message_sort_order'] = 'DESC';
+
+// These cols are shown in the message list. Available cols are:
+// subject, from, to, cc, replyto, date, size, status, flag, attachment, 'priority'
+$rcmail_config['list_cols'] = array('subject', 'status', 'from', 'date', 'size', 'flag', 'attachment');
+
+// the default locale setting (leave empty for auto-detection)
+// RFC1766 formatted language name like en_US, de_DE, de_CH, fr_FR, pt_BR
+$rcmail_config['language'] = 'pt_BR';
+
+// use this format for date display (date or strftime format)
+$rcmail_config['date_format'] = 'Y-m-d';
+
+// give this choice of date formats to the user to select from
+$rcmail_config['date_formats'] = array('Y-m-d', 'd-m-Y', 'Y/m/d', 'm/d/Y', 'd/m/Y', 'd.m.Y', 'j.n.Y');
+
+// use this format for time display (date or strftime format)
+$rcmail_config['time_format'] = 'H:i';
+
+// give this choice of time formats to the user to select from
+$rcmail_config['time_formats'] = array('G:i', 'H:i', 'g:i a', 'h:i A');
+
+// use this format for short date display (derived from date_format and time_format)
+$rcmail_config['date_short'] = 'D H:i';
+
+// use this format for detailed date/time formatting (derived from date_format and time_format)
+$rcmail_config['date_long'] = 'Y-m-d H:i';
+
+// store draft message is this mailbox
+// leave blank if draft messages should not be stored
+// NOTE: Use folder names with namespace prefix (INBOX. on Courier-IMAP)
+$rcmail_config['drafts_mbox'] = 'Drafts';
+
+// store spam messages in this mailbox
+// NOTE: Use folder names with namespace prefix (INBOX. on Courier-IMAP)
+$rcmail_config['junk_mbox'] = 'Junk';
+
+// store sent message is this mailbox
+// leave blank if sent messages should not be stored
+// NOTE: Use folder names with namespace prefix (INBOX. on Courier-IMAP)
+$rcmail_config['sent_mbox'] = 'Sent';
+
+// move messages to this folder when deleting them
+// leave blank if they should be deleted directly
+// NOTE: Use folder names with namespace prefix (INBOX. on Courier-IMAP)
+$rcmail_config['trash_mbox'] = 'Trash';
+
+// display these folders separately in the mailbox list.
+// these folders will also be displayed with localized names
+// NOTE: Use folder names with namespace prefix (INBOX. on Courier-IMAP)
+$rcmail_config['default_imap_folders'] = array('INBOX', 'Drafts', 'Sent', 'Junk', 'Trash');
+
+// automatically create the above listed default folders on first login
+$rcmail_config['create_default_folders'] = false;
+
+// protect the default folders from renames, deletes, and subscription changes
+$rcmail_config['protect_default_folders'] = true;
+
+// if in your system 0 quota means no limit set this option to true
+$rcmail_config['quota_zero_as_unlimited'] = false;
+
+// Make use of the built-in spell checker. It is based on GoogieSpell.
+// Since Google only accepts connections over https your PHP installatation
+// requires to be compiled with Open SSL support
+$rcmail_config['enable_spellcheck'] = true;
+
+// Enables spellchecker exceptions dictionary.
+// Setting it to 'shared' will make the dictionary shared by all users.
+$rcmail_config['spellcheck_dictionary'] = false;
+
+// Set the spell checking engine. 'googie' is the default. 'pspell' is also available,
+// but requires the Pspell extensions. When using Nox Spell Server, also set 'googie' here.
+$rcmail_config['spellcheck_engine'] = 'pspell';
+
+// For a locally installed Nox Spell Server, please specify the URI to call it.
+// Get Nox Spell Server from http://orangoo.com/labs/?page_id=72
+// Leave empty to use the Google spell checking service, what means
+// that the message content will be sent to Google in order to check spelling
+$rcmail_config['spellcheck_uri'] = '';
+
+// These languages can be selected for spell checking.
+// Configure as a PHP style hash array: array('en'=>'English', 'de'=>'Deutsch');
+// Leave empty for default set of available language.
+$rcmail_config['spellcheck_languages'] = NULL;
+
+// Makes that words with all letters capitalized will be ignored (e.g. GOOGLE)
+$rcmail_config['spellcheck_ignore_caps'] = false;
+
+// Makes that words with numbers will be ignored (e.g. g00gle)
+$rcmail_config['spellcheck_ignore_nums'] = false;
+
+// Makes that words with symbols will be ignored (e.g. g@@gle)
+$rcmail_config['spellcheck_ignore_syms'] = false;
+
+// Use this char/string to separate recipients when composing a new message
+$rcmail_config['recipients_separator'] = ',';
+
+// don't let users set pagesize to more than this value if set
+$rcmail_config['max_pagesize'] = 200;
+
+// Minimal value of user's 'keep_alive' setting (in seconds)
+// Must be less than 'session_lifetime'
+$rcmail_config['min_keep_alive'] = 60;
+
+// Enables files upload indicator. Requires APC installed and enabled apc.rfc1867 option.
+// By default refresh time is set to 1 second. You can set this value to true
+// or any integer value indicating number of seconds.
+$rcmail_config['upload_progress'] = false;
+
+// Specifies for how many seconds the Undo button will be available
+// after object delete action. Currently used with supporting address book sources.
+// Setting it to 0, disables the feature.
+$rcmail_config['undo_timeout'] = 0;
+
+<% if roundcube_login_info != false %>
+// Login_info plugin
+$rcmail_config['login_info'] = <<<EOT
+<div id="login_info" style="margin-top:3%;margin-left:auto;margin-right:auto;;width:380px;border-radius:10px;padding:10px;-moz-border-radius:10px;background-color:lightgrey;text-align:center;color:red;">
+ <%= roundcube_login_info %>
+</div>
+EOT;
+<% end -%>
+
+// ----------------------------------
+// ADDRESSBOOK SETTINGS
+// ----------------------------------
+
+// This indicates which type of address book to use. Possible choises:
+// 'sql' (default) and 'ldap'.
+// If set to 'ldap' then it will look at using the first writable LDAP
+// address book as the primary address book and it will not display the
+// SQL address book in the 'Address Book' view.
+$rcmail_config['address_book_type'] = 'sql';
+
+// In order to enable public ldap search, configure an array like the Verisign
+// example further below. if you would like to test, simply uncomment the example.
+// Array key must contain only safe characters, ie. a-zA-Z0-9_
+$rcmail_config['ldap_public'] = array();
+
+// If you are going to use LDAP for individual address books, you will need to
+// set 'user_specific' to true and use the variables to generate the appropriate DNs to access it.
+//
+// The recommended directory structure for LDAP is to store all the address book entries
+// under the users main entry, e.g.:
+//
+// o=root
+// ou=people
+// uid=user@domain
+// mail=contact@contactdomain
+//
+// So the base_dn would be uid=%fu,ou=people,o=root
+// The bind_dn would be the same as based_dn or some super user login.
+/*
+* example config for Verisign directory
+*
+$rcmail_config['ldap_public']['Verisign'] = array(
+'name' => 'Verisign.com',
+// Replacement variables supported in host names:
+// %h - user's IMAP hostname
+// %n - http hostname ($_SERVER['SERVER_NAME'])
+// %d - domain (http hostname without the first part)
+// %z - IMAP domain (IMAP hostname without the first part)
+// For example %n = mail.domain.tld, %d = domain.tld
+'hosts' => array('directory.verisign.com'),
+'port' => 389,
+'use_tls' => false,
+'ldap_version' => 3, // using LDAPv3
+'user_specific' => false, // If true the base_dn, bind_dn and bind_pass default to the user's IMAP login.
+// %fu - The full username provided, assumes the username is an email
+// address, uses the username_domain value if not an email address.
+// %u - The username prior to the '@'.
+// %d - The domain name after the '@'.
+// %dc - The domain name hierarchal string e.g. "dc=test,dc=domain,dc=com"
+// %dn - DN found by ldap search when search_filter/search_base_dn are used
+'base_dn' => '',
+'bind_dn' => '',
+'bind_pass' => '',
+// It's possible to bind for an individual address book
+// The login name is used to search for the DN to bind with
+'search_base_dn' => '',
+'search_filter' => '', // e.g. '(&(objectClass=posixAccount)(uid=%u))'
+// DN and password to bind as before searching for bind DN, if anonymous search is not allowed
+'search_bind_dn' => '',
+'search_bind_pw' => '',
+// Default for %dn variable if search doesn't return DN value
+'search_dn_default' => '',
+// Optional authentication identifier to be used as SASL authorization proxy
+// bind_dn need to be empty
+'auth_cid' => '',
+// SASL authentication method (for proxy auth), e.g. DIGEST-MD5
+'auth_method' => '',
+// Indicates if the addressbook shall be hidden from the list.
+// With this option enabled you can still search/view contacts.
+'hidden' => false,
+// Indicates if the addressbook shall not list contacts but only allows searching.
+'searchonly' => false,
+// Indicates if we can write to the LDAP directory or not.
+// If writable is true then these fields need to be populated:
+// LDAP_Object_Classes, required_fields, LDAP_rdn
+'writable' => false,
+// To create a new contact these are the object classes to specify
+// (or any other classes you wish to use).
+'LDAP_Object_Classes' => array('top', 'inetOrgPerson'),
+// The RDN field that is used for new entries, this field needs
+// to be one of the search_fields, the base of base_dn is appended
+// to the RDN to insert into the LDAP directory.
+'LDAP_rdn' => 'mail',
+// The required fields needed to build a new contact as required by
+// the object classes (can include additional fields not required by the object classes).
+'required_fields' => array('cn', 'sn', 'mail'),
+'search_fields' => array('mail', 'cn'), // fields to search in
+// mapping of contact fields to directory attributes
+'fieldmap' => array(
+// Roundcube => LDAP
+'name' => 'cn',
+'surname' => 'sn',
+'firstname' => 'givenName',
+'email' => 'mail',
+'phone:home' => 'homePhone',
+'phone:work' => 'telephoneNumber',
+'phone:mobile' => 'mobile',
+'street' => 'street',
+'zipcode' => 'postalCode',
+'locality' => 'l',
+'country' => 'c',
+'organization' => 'o',
+),
+'sort' => 'cn', // The field to sort the listing by.
+'scope' => 'sub', // search mode: sub|base|list
+'filter' => '(objectClass=inetOrgPerson)', // used for basic listing (if not empty) and will be &'d with search queries. example: status=act
+'fuzzy_search' => true, // server allows wildcard search
+'vlv' => false, // Enable Virtual List View to more efficiently fetch paginated data (if server supports it)
+'numsub_filter' => '(objectClass=organizationalUnit)', // with VLV, we also use numSubOrdinates to query the total number of records. Set this filter to get all numSubOrdinates attributes for counting
+'sizelimit' => '0', // Enables you to limit the count of entries fetched. Setting this to 0 means no limit.
+'timelimit' => '0', // Sets the number of seconds how long is spend on the search. Setting this to 0 means no limit.
+'referrals' => true|false, // Sets the LDAP_OPT_REFERRALS option. Mostly used in multi-domain Active Directory setups
+
+// definition for contact groups (uncomment if no groups are supported)
+// for the groups base_dn, the user replacements %fu, %u, $d and %dc work as for base_dn (see above)
+// if the groups base_dn is empty, the contact base_dn is used for the groups as well
+// -> in this case, assure that groups and contacts are separated due to the concernig filters!
+'groups' => array(
+'base_dn' => '',
+'filter' => '(objectClass=groupOfNames)',
+'object_classes' => array("top", "groupOfNames"),
+'member_attr' => 'member', // name of the member attribute, e.g. uniqueMember
+'name_attr' => 'cn', // attribute to be used as group name
+),
+);
+*/
+
+// An ordered array of the ids of the addressbooks that should be searched
+// when populating address autocomplete fields server-side. ex: array('sql','Verisign');
+$rcmail_config['autocomplete_addressbooks'] = array('sql');
+
+// The minimum number of characters required to be typed in an autocomplete field
+// before address books will be searched. Most useful for LDAP directories that
+// may need to do lengthy results building given overly-broad searches
+$rcmail_config['autocomplete_min_length'] = 1;
+
+// Number of parallel autocomplete requests.
+// If there's more than one address book, n parallel (async) requests will be created,
+// where each request will search in one address book. By default (0), all address
+// books are searched in one request.
+$rcmail_config['autocomplete_threads'] = 0;
+
+// Max. numer of entries in autocomplete popup. Default: 15.
+$rcmail_config['autocomplete_max'] = 15;
+
+// show address fields in this order
+// available placeholders: {street}, {locality}, {zipcode}, {country}, {region}
+$rcmail_config['address_template'] = '{street}<br/>{locality} {zipcode}<br/>{country} {region}';
+
+// Matching mode for addressbook search (including autocompletion)
+// 0 - partial (*abc*), default
+// 1 - strict (abc)
+// 2 - prefix (abc*)
+// Note: For LDAP sources fuzzy_search must be enabled to use 'partial' or 'prefix' mode
+$rcmail_config['addressbook_search_mode'] = 0;
+
+// ----------------------------------
+// USER PREFERENCES
+// ----------------------------------
+
+// Use this charset as fallback for message decoding
+$rcmail_config['default_charset'] = 'UTF-8';
+
+// skin name: folder from skins/
+$rcmail_config['skin'] = 'default';
+
+// show up to X items in list view
+$rcmail_config['pagesize'] = 40;
+
+// use this timezone to display date/time
+$rcmail_config['timezone'] = 'auto';
+
+// is daylight saving On? Default: (bool)date('I');
+$rcmail_config['dst_active'] = null;
+
+// prefer displaying HTML messages
+$rcmail_config['prefer_html'] = true;
+
+// display remote inline images
+// 0 - Never, always ask
+// 1 - Ask if sender is not in address book
+// 2 - Always show inline images
+$rcmail_config['show_images'] = 0;
+
+// compose html formatted messages by default
+// 0 - never, 1 - always, 2 - on reply to HTML message only
+$rcmail_config['htmleditor'] = 0;
+
+// show pretty dates as standard
+$rcmail_config['prettydate'] = true;
+
+// save compose message every 300 seconds (5min)
+$rcmail_config['draft_autosave'] = 300;
+
+// default setting if preview pane is enabled
+$rcmail_config['preview_pane'] = false;
+
+// Mark as read when viewed in preview pane (delay in seconds)
+// Set to -1 if messages in preview pane should not be marked as read
+$rcmail_config['preview_pane_mark_read'] = 0;
+
+// Clear Trash on logout
+$rcmail_config['logout_purge'] = false;
+
+// Compact INBOX on logout
+$rcmail_config['logout_expunge'] = false;
+
+// Display attached images below the message body
+$rcmail_config['inline_images'] = true;
+
+// Encoding of long/non-ascii attachment names:
+// 0 - Full RFC 2231 compatible
+// 1 - RFC 2047 for 'name' and RFC 2231 for 'filename' parameter (Thunderbird's default)
+// 2 - Full 2047 compatible
+$rcmail_config['mime_param_folding'] = 1;
+
+// Set true if deleted messages should not be displayed
+// This will make the application run slower
+$rcmail_config['skip_deleted'] = false;
+
+// Set true to Mark deleted messages as read as well as deleted
+// False means that a message's read status is not affected by marking it as deleted
+$rcmail_config['read_when_deleted'] = true;
+
+// Set to true to never delete messages immediately
+// Use 'Purge' to remove messages marked as deleted
+$rcmail_config['flag_for_deletion'] = false;
+
+// Default interval for keep-alive/check-recent requests (in seconds)
+// Must be greater than or equal to 'min_keep_alive' and less than 'session_lifetime'
+$rcmail_config['keep_alive'] = 60;
+
+// If true all folders will be checked for recent messages
+$rcmail_config['check_all_folders'] = false;
+
+// If true, after message delete/move, the next message will be displayed
+$rcmail_config['display_next'] = false;
+
+// 0 - Do not expand threads
+// 1 - Expand all threads automatically
+// 2 - Expand only threads with unread messages
+$rcmail_config['autoexpand_threads'] = 0;
+
+// When replying place cursor above original message (top posting)
+$rcmail_config['top_posting'] = false;
+
+// When replying strip original signature from message
+$rcmail_config['strip_existing_sig'] = true;
+
+// Show signature:
+// 0 - Never
+// 1 - Always
+// 2 - New messages only
+// 3 - Forwards and Replies only
+$rcmail_config['show_sig'] = 1;
+
+// When replying or forwarding place sender's signature above existing message
+$rcmail_config['sig_above'] = false;
+
+// Use MIME encoding (quoted-printable) for 8bit characters in message body
+$rcmail_config['force_7bit'] = false;
+
+// Defaults of the search field configuration.
+// The array can contain a per-folder list of header fields which should be considered when searching
+// The entry with key '*' stands for all folders which do not have a specific list set.
+// Please note that folder names should to be in sync with $rcmail_config['default_imap_folders']
+$rcmail_config['search_mods'] = null; // Example: array('*' => array('subject'=>1, 'from'=>1), 'Sent' => array('subject'=>1, 'to'=>1));
+
+// Defaults of the addressbook search field configuration.
+$rcmail_config['addressbook_search_mods'] = null; // Example: array('name'=>1, 'firstname'=>1, 'surname'=>1, 'email'=>1, '*'=>1);
+
+// 'Delete always'
+// This setting reflects if mail should be always deleted
+// when moving to Trash fails. This is necessary in some setups
+// when user is over quota and Trash is included in the quota.
+$rcmail_config['delete_always'] = false;
+
+// Behavior if a received message requests a message delivery notification (read receipt)
+// 0 = ask the user, 1 = send automatically, 2 = ignore (never send or ask)
+// 3 = send automatically if sender is in addressbook, otherwise ask the user
+// 4 = send automatically if sender is in addressbook, otherwise ignore
+$rcmail_config['mdn_requests'] = 0;
+
+// Return receipt checkbox default state
+$rcmail_config['mdn_default'] = 0;
+
+// Delivery Status Notification checkbox default state
+$rcmail_config['dsn_default'] = 0;
+
+// Place replies in the folder of the message being replied to
+$rcmail_config['reply_same_folder'] = false;
+
+// Sets default mode of Forward feature to "forward as attachment"
+$rcmail_config['forward_attachment'] = false;
+
+// Defines address book (internal index) to which new contacts will be added
+// By default it is the first writeable addressbook.
+// Note: Use '0' for built-in address book.
+$rcmail_config['default_addressbook'] = null;
+
+// Enables spell checking before sending a message.
+$rcmail_config['spellcheck_before_send'] = false;
+
+// Skip alternative email addresses in autocompletion (show one address per contact)
+$rcmail_config['autocomplete_single'] = false;
+
+// end of config file