From 959223c044f53d0df1e6cb7cef6d090a0993e2f9 Mon Sep 17 00:00:00 2001 From: Ronni Baslund Date: Fri, 12 Jun 2026 11:24:09 +0200 Subject: [PATCH] fix(mail): restore upstream IMAP config constants zpush dropped MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The replacement imap.config.php omitted constants the backend references unconditionally — SYSTEM_MIME_TYPES_MAPPING 500'd every authenticated request (backend construction, before login, so the unauthenticated 401 smoke tests never hit it). Define all remaining upstream constants with their defaults so the replacement file can never be narrower than the template it replaces. --- services/zpush/config/imap.config.php | 28 +++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/services/zpush/config/imap.config.php b/services/zpush/config/imap.config.php index d52b7b3..203e67a 100644 --- a/services/zpush/config/imap.config.php +++ b/services/zpush/config/imap.config.php @@ -46,3 +46,31 @@ $imap_smtp_params = array( 'verify_peer_name' => false, 'allow_self_signed' => true, ); + +// ── Upstream defaults below — DO NOT prune. ───────────────────────────── +// This file REPLACES the upstream template, and the backend references +// several of these unconditionally (a missing SYSTEM_MIME_TYPES_MAPPING +// 500'd every authenticated request on first deploy). Unused features +// (SQL/LDAP From lookup) still need their constants defined. +define('MAIL_MIMEPART_CRLF', "\r\n"); +define('SYSTEM_MIME_TYPES_MAPPING', '/etc/mime.types'); +define('IMAP_MEETING_USE_CALDAV', false); +define('IMAP_SEARCH_CHARSET', 'UTF-8'); +define('IMAP_FROM_SQL_DSN', ''); +define('IMAP_FROM_SQL_USER', ''); +define('IMAP_FROM_SQL_PASSWORD', ''); +define('IMAP_FROM_SQL_OPTIONS', serialize(array(PDO::ATTR_PERSISTENT => true))); +define('IMAP_FROM_SQL_QUERY', "select first_name, last_name, mail_address from users where mail_address = '#username@#domain'"); +define('IMAP_FROM_SQL_FIELDS', serialize(array('first_name', 'last_name', 'mail_address'))); +define('IMAP_FROM_SQL_EMAIL', '#mail_address'); +define('IMAP_FROM_SQL_FROM', '#first_name #last_name <#mail_address>'); +define('IMAP_FROM_SQL_FULLNAME', '#first_name #last_name'); +define('IMAP_FROM_LDAP_SERVER_URI', 'ldap://127.0.0.1:389/'); +define('IMAP_FROM_LDAP_USER', ''); +define('IMAP_FROM_LDAP_PASSWORD', ''); +define('IMAP_FROM_LDAP_BASE', ''); +define('IMAP_FROM_LDAP_QUERY', '(mail=#username@#domain)'); +define('IMAP_FROM_LDAP_FIELDS', serialize(array('givenname', 'sn', 'mail'))); +define('IMAP_FROM_LDAP_EMAIL', '#mail'); +define('IMAP_FROM_LDAP_FROM', '#givenname #sn <#mail>'); +define('IMAP_FROM_LDAP_FULLNAME', '#givenname #sn');