vars.inc.php 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  1. <?php
  2. error_reporting(E_ERROR);
  3. //error_reporting(E_ALL);
  4. /*
  5. PLEASE USE THE FILE "vars.local.inc.php" TO OVERWRITE SETTINGS AND MAKE THEM PERSISTENT!
  6. This file will be reset on upgrades.
  7. */
  8. // SQL database connection variables
  9. $database_type = 'mysql';
  10. $database_sock = '/var/run/mysqld/mysqld.sock';
  11. $database_host = 'mysql';
  12. $database_user = getenv('DBUSER');
  13. $database_pass = getenv('DBPASS');
  14. $database_name = getenv('DBNAME');
  15. // Other variables
  16. $mailcow_hostname = getenv('MAILCOW_HOSTNAME');
  17. // Autodiscover settings
  18. // ===
  19. // Auto-detect HTTPS port =>
  20. $https_port = strpos($_SERVER['HTTP_HOST'], ':');
  21. if ($https_port === FALSE) {
  22. $https_port = 443;
  23. } else {
  24. $https_port = substr($_SERVER['HTTP_HOST'], $https_port+1);
  25. }
  26. // Alternatively select port here =>
  27. //$https_port = 1234;
  28. // Other settings =>
  29. $autodiscover_config = array(
  30. // General autodiscover service type: "activesync" or "imap"
  31. // emClient uses autodiscover, but does not support ActiveSync. mailcow excludes emClient from ActiveSync.
  32. // With SOGo disabled, the type will always fallback to imap. CalDAV and CardDAV will be excluded, too.
  33. 'autodiscoverType' => 'activesync',
  34. // If autodiscoverType => activesync, also use ActiveSync (EAS) for Outlook desktop clients (>= Outlook 2013 on Windows)
  35. // Outlook for Mac does not support ActiveSync
  36. 'useEASforOutlook' => 'no',
  37. // Please don't use STARTTLS-enabled service ports in the "port" variable.
  38. // The autodiscover service will always point to SMTPS and IMAPS (TLS-wrapped services).
  39. // The autoconfig service will additionally announce the STARTTLS-enabled ports, specified in the "tlsport" variable.
  40. 'imap' => array(
  41. 'server' => $mailcow_hostname,
  42. 'port' => end(explode(':', getenv('IMAPS_PORT'))),
  43. 'tlsport' => end(explode(':', getenv('IMAP_PORT'))),
  44. ),
  45. 'pop3' => array(
  46. 'server' => $mailcow_hostname,
  47. 'port' => end(explode(':', getenv('POPS_PORT'))),
  48. 'tlsport' => end(explode(':', getenv('POP_PORT'))),
  49. ),
  50. 'smtp' => array(
  51. 'server' => $mailcow_hostname,
  52. 'port' => end(explode(':', getenv('SMTPS_PORT'))),
  53. 'tlsport' => end(explode(':', getenv('SUBMISSION_PORT'))),
  54. ),
  55. 'activesync' => array(
  56. 'url' => 'https://'.$mailcow_hostname.($https_port == 443 ? '' : ':'.$https_port).'/Microsoft-Server-ActiveSync',
  57. ),
  58. 'caldav' => array(
  59. 'server' => $mailcow_hostname,
  60. 'port' => $https_port,
  61. ),
  62. 'carddav' => array(
  63. 'server' => $mailcow_hostname,
  64. 'port' => $https_port,
  65. ),
  66. );
  67. // If false, we will use DEFAULT_LANG
  68. // Uses HTTP_ACCEPT_LANGUAGE header
  69. $DETECT_LANGUAGE = true;
  70. // Change default language
  71. $DEFAULT_LANG = 'en';
  72. // Available languages
  73. $AVAILABLE_LANGUAGES = array('ca', 'cs', 'de', 'en', 'es', 'fi', 'fr', 'it', 'lv', 'nl', 'pl', 'pt', 'ro', 'ru', 'sk', 'sv');
  74. // Change theme (default: lumen)
  75. // Needs to be one of those: cerulean, cosmo, cyborg, darkly, flatly, journal, lumen, paper, readable, sandstone,
  76. // simplex, slate, spacelab, superhero, united, yeti
  77. // See https://bootswatch.com/
  78. // WARNING: Only lumen is loaded locally. Enabling any other theme, will download external sources.
  79. $DEFAULT_THEME = 'lumen';
  80. // Password complexity as regular expression
  81. // Min. 6 characters
  82. $PASSWD_REGEP = '.{6,}';
  83. // Min. 6 characters, which must include at least one uppercase letter, one lowercase letter and one number
  84. // $PASSWD_REGEP = '^(?=.*[A-Z])(?=.*[0-9])(?=.*[a-z]).{6,}$';
  85. // Min. 6 characters, which must include at least one letter and one number
  86. // $PASSWD_REGEP = '^(?=.*[0-9])(?=.*[A-Za-z]).{6,}$';
  87. // Show DKIM private keys - false by default
  88. $SHOW_DKIM_PRIV_KEYS = false;
  89. // mailcow Apps - buttons on login screen
  90. $MAILCOW_APPS = array(
  91. array(
  92. 'name' => 'Webmail',
  93. 'link' => '/SOGo/',
  94. )
  95. );
  96. // Rows until pagination begins
  97. $PAGINATION_SIZE = 20;
  98. // Default number of rows/lines to display (log table)
  99. $LOG_LINES = 1000;
  100. // Rows until pagination begins (log table)
  101. $LOG_PAGINATION_SIZE = 50;
  102. // Session lifetime in seconds
  103. $SESSION_LIFETIME = 10800;
  104. // Label for OTP devices
  105. $OTP_LABEL = "mailcow UI";
  106. // Default "to" address in relay test tool
  107. $RELAY_TO = "null@hosted.mailcow.de";
  108. // How long to wait (in s) for cURL Docker requests
  109. $DOCKER_TIMEOUT = 60;
  110. // Anonymize IPs logged via UI
  111. $ANONYMIZE_IPS = true;
  112. // Split DKIM key notation (bind format)
  113. $SPLIT_DKIM_255 = false;
  114. // OAuth2 settings
  115. $REFRESH_TOKEN_LIFETIME = 2678400;
  116. $ACCESS_TOKEN_LIFETIME = 86400;
  117. // Logout from mailcow after first OAuth2 session profile request
  118. $OAUTH2_FORGET_SESSION_AFTER_LOGIN = false;
  119. // MAILBOX_DEFAULT_ATTRIBUTES define default attributes for new mailboxes
  120. // These settings will not change existing mailboxes
  121. // Force incoming TLS for new mailboxes by default
  122. $MAILBOX_DEFAULT_ATTRIBUTES['tls_enforce_in'] = false;
  123. // Force outgoing TLS for new mailboxes by default
  124. $MAILBOX_DEFAULT_ATTRIBUTES['tls_enforce_out'] = false;
  125. // Force password change on next login (only allows login to mailcow UI)
  126. $MAILBOX_DEFAULT_ATTRIBUTES['force_pw_update'] = false;
  127. // Enable SOGo access (set to false to disable access by default)
  128. $MAILBOX_DEFAULT_ATTRIBUTES['sogo_access'] = true;
  129. // Send notification when quarantine is not empty (never, hourly, daily, weekly)
  130. $MAILBOX_DEFAULT_ATTRIBUTES['quarantine_notification'] = 'hourly';
  131. // Mailbox has IMAP access by default
  132. $MAILBOX_DEFAULT_ATTRIBUTES['imap_access'] = true;
  133. // Mailbox has POP3 access by default
  134. $MAILBOX_DEFAULT_ATTRIBUTES['pop3_access'] = true;
  135. // Mailbox has SMTP access by default
  136. $MAILBOX_DEFAULT_ATTRIBUTES['smtp_access'] = true;
  137. // Default mailbox format, should not be changed unless you know exactly, what you do, keep the trailing ":"
  138. // Check dovecot.conf for further changes (e.g. shared namespace)
  139. $MAILBOX_DEFAULT_ATTRIBUTES['mailbox_format'] = 'maildir:';
  140. // Show last IMAP and POP3 logins
  141. $SHOW_LAST_LOGIN = true;
  142. // Set visible Rspamd maps in mailcow UI, do not change unless you know what you are doing
  143. $RSPAMD_MAPS = array(
  144. 'regex' => array(
  145. 'Header-From: Blacklist' => 'global_mime_from_blacklist.map',
  146. 'Header-From: Whitelist' => 'global_mime_from_whitelist.map',
  147. 'Envelope Sender Blacklist' => 'global_smtp_from_blacklist.map',
  148. 'Envelope Sender Whitelist' => 'global_smtp_from_whitelist.map',
  149. 'Recipient Blacklist' => 'global_rcpt_blacklist.map',
  150. 'Recipient Whitelist' => 'global_rcpt_whitelist.map',
  151. 'Fishy TLDS (only fired in combination with bad words)' => 'fishy_tlds.map',
  152. 'Bad Words (only fired in combination with fishy TLDs)' => 'bad_words.map',
  153. 'Bad Words DE (only fired in combination with fishy TLDs)' => 'bad_words_de.map',
  154. 'Bad Languages' => 'bad_languages.map',
  155. 'Bulk Mail Headers' => 'bulk_header.map',
  156. 'Monitoring Hosts' => 'monitoring_nolog.map'
  157. )
  158. );