📗 Ansible playbooks and roles for building an idempotent, interconnected and scalable infrastructure
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ansible-playbooks/roles/mail/templates/config.j2

151 lines
3.7 KiB

2 years ago
<?php
$config = [];
// ----------------------------------
// SQL DATABASE
// ----------------------------------
$config['db_dsnw'] = 'pgsql://{{ database_user }}:{{ database_password }}@{{ hostvars['postgres']['ansible_host'] }}/{{ database_name }}';
// ----------------------------------
// LOGGING/DEBUGGING
// ----------------------------------
$config['log_driver'] = 'syslog';
$config['syslog_facility'] = LOG_LOCAL0;
$config['log_logins'] = true;
// ----------------------------------
// IMAP
// ----------------------------------
$config['default_host'] = 'ssl://{{ mail_server.imap.fqdn }}';
$config['default_port'] = {{ mail_server.imap.port }};
$config['imap_conn_options'] = [
'ssl' => [
'verify_peer' => false,
],
];
$config['imap_vendor'] = 'dovecot';
$config['imap_cache'] = 'db';
$config['messages_cache'] = true;
$config['imap_cache_ttl'] = '2d';
$config['messages_cache_ttl'] = '2d';
// ----------------------------------
// SMTP
// ----------------------------------
$config['smtp_server'] = 'ssl://{{ mail_server.smtp.fqdn }}';
$config['smtp_port'] = {{ mail_server.smtp.implicit_port }};
$config['smtp_conn_options'] = [
'ssl' => [
'verify_peer' => false,
],
];
// ----------------------------------
// SYSTEM
// ----------------------------------
$config['enable_installer'] = false;
$config['skin_logo'] = [
"[favicon]" => "custom/favicon.ico",
"*" => "custom/logo.png",
];
$config['login_rate_limit'] = 15;
$config['display_product_info'] = 2;
$config['session_lifetime'] = {{ (60 * 24 * 7 * 4) | int }};
$config['session_name'] = 'rc_{{ org | lower | replace(' ', '') }}_sessid';
$config['session_auth_name'] = 'rc_{{ org | lower | replace(' ', '') }}_sessauth';
$config['session_samesite'] = 'Strict';
$config['des_key'] = '{{ (base_encryption_key ~ host_encryption_key ~ 'des_key') | hash('sha512') | truncate(24, False, '') }}';
$config['cipher_method'] = 'ChaCha20-Poly1305';
$config['username_domain'] = '{{ tld }}';
$config['username_domain_forced'] = true;
$config['max_message_size'] = '{{ max_mail_size_mb | int | abs }}M';
$config['max_disclosed_recipients'] = 10;
$config['product_name'] = '{{ org_localized }} | Почта';
$config['useragent'] = null;
$config['identities_level'] = 0;
$config['identity_image_size'] = 128;
$config['mime_types'] = '{{ mail_dir }}/config/{{ mail_mime_types_file }}';
// ----------------------------------
// USER INTERFACE
// ----------------------------------
$config['language'] = 'ru_RU';
$config['date_format'] = 'd.m.Y';
$config['date_long'] = 'd.m.Y H:i';
$config['drafts_mbox'] = 'Черновики';
$config['junk_mbox'] = 'Спам';
$config['sent_mbox'] = 'Отправленные';
$config['trash_mbox'] = 'Удаленные';
$config['min_refresh_interval'] = 30;
$config['undo_timeout'] = 10;
$config['enable_spellcheck'] = true;
$config['spellcheck_engine'] = 'pspell';
$config['spellcheck_languages'] = ['en'=>'English', 'ru'=>'Русский'];
// ----------------------------------
// ADDRESSBOOK SETTINGS
// ----------------------------------
$config['contact_form_mode'] = 'business';
$config['collected_recipients'] = true;
$config['collected_senders'] = true;
// ----------------------------------
// USER PREFERENCES
// ----------------------------------
$config['addressbook_sort_col'] = 'name';
$config['show_images'] = 3;
$config['htmleditor'] = 4;
$config['draft_autosave'] = 60;
$config['refresh_interval'] = 30;
$config['check_all_folders'] = true;
$config['reply_mode'] = 1;
$config['default_font'] = 'Tahoma';
$config['message_show_email'] = true;
// ----------------------------------
// PLUGINS
// ----------------------------------
$config['plugins'] = array(
{% for plugin in mail_plugins %}
'{{ plugin.name }}',
{% endfor %}
'filesystem_attachments'
);