卡莫标志只使用 CSS 方法
使用 CSS 背景图像删除已损坏的 SVG 文件挂载 直接从 #logo 元素上加载外部标志
将 Roundcube 标志.svg 替换为 Kamo 标志 SVG
挂载自定义标志. svg to QQ 替换圆立方体水印/背景标志
添加自定义 CSS 文件来覆盖圆立方体水印标志
- 创建自定义.cs 有水印覆盖 - 将CSS文件上载到/var/www/html/custom.css - 配置圆立方体以装入额外的 styleshows
将所有圆立方体标志替换为包括水印在内的卡莫标志
将 skin logo 配置更新到数组格式以覆盖 : - 主头徽标 - 倒塌的小头徽标 - 信箱水印/背景标识
配置圆立方体直接使用 Mailgun SMTP
通过本地 Postfix 发送邮件,直接连接到 Smtp.mailgun.org 端口为587的 TLS
Switch Postfix to Alpine-based deployment with MySQL support
Similar to Dovecot, using Alpine 3.18 with postfix-mysql package installed at runtime for reliable MySQL virtual maps support
Fix postfix command to use apt-get instead of apk
boky/postfix is Debian-based, not Alpine
Add postfix-mysql support for MySQL virtual maps
Installed postfix-mysql package at container startup to enable MySQL dictionary lookups for virtual domains/users/aliases
Add auth debugging and ensure MySQL driver packages for Dovecot
- Enable auth_debug, auth_debug_passwords, auth_verbose - Add dovecot-mysql package for proper SQL support - Add mariadb-connector-c for MySQL protocol compatib...
Add MySQL auth fix job for MariaDB client compatibility
Changes kamo user from caching_sha2_password to mysql_native_password Required for Dovecot (Alpine/MariaDB) to connect to MySQL 8
Replace Roundcube logo with Kamo logo
Added skin_logo config pointing to **************** Updated deployment annotation to trigger pod restart
Fix MySQL auth: change kamo user to mysql_native_password
Alpine's MariaDB client doesn't support caching_sha2_password plugin This prevents Dovecot from connecting to MySQL for authentication
Force Roundcube pod restart to pick up ConfigMap change
Added annotation to trigger pod recreation since ConfigMap with subPath doesn't auto-update in running pods
Fix Roundcube redirect loop - disable force_https
Traefik handles TLS termination, so internal traffic is HTTP Setting force_https=true caused Roundcube to redirect to HTTPS internally creating an infinite redi...
Reference kamocrm.com wildcard cert in mail IngressRoute
The certificate secret is in kamo namespace, copied to mail namespace tls.secretName explicitly references wildcard-kamocrm-com
Fix mail IngressRoute to use auto-cert service
Changed tls from certResolver: letsencrypt to tls: {} This allows the auto-cert service to automatically generate certs when mail.kamocrm.com is accessed
Fix Roundcube readiness probe - use TCP socket instead of HTTP
Roundcube redirects / to login page (302), failing HTTP readiness probe TCP socket check on port 80 works correctly
Switch to Alpine 3.18 with Dovecot 2.3.20 for stable SQL auth
Dovecot 2.4 has incompatible configuration changes without clear docs Alpine 3.18 has Dovecot 2.3.20 which uses traditional well-documented syntax - mail_locati...
Remove address setting from inet_listener - not valid in Dovecot 2.4.2
The listen = * at top level handles binding to all interfaces
修复 Dovecot 2.4.2 配置: 重新命名为 mail sath 的邮件地址
在多维科特2.4.2中: - 邮件位置现在是邮件路径( 顶级设置, 无块) - 添加多维科特 储存 版本=2.4.2(需要) - 更新 SQL 用户 query 以返回邮件 路径而不是邮件 - 使用回声命令来避免异教白空间问题
修补 Dovecot 2.4 配置语法 - 使用邮件QQ和 slQQQ 块
- 在邮件 {} 块内放置邮件 位置、 uid、 gid 设置( dovecot 2. 4 要求) - 在 ssl {} 块内设置 ssl 设置 - 添加 initContainer 在主机路径上以正确的权限创建邮件目录 - 使用有 sed 的此语法去除主白空间 - 添加调试输出以验证邮件存储可访问性
Go back to args with external SQL config file - mysql blocks don't work
The mysql { } block syntax causes 'Unknown section name: mysql' error Use passdb sql { driver = sql; args = **************** } External file has correct format:...
Use Dovecot 2.4.2 format: mysql connection block + named sections with query
Found in actual examples: - sql_driver = mysql - mysql hostname { user, password, dbname } connection block - passdb sql { query = ... } with named sections - u...
Remove named sections - try passdb/userdb without names, use args
Error said 'Unknown section name: mysql' - the mysql block was wrong Try passdb/userdb WITHOUT names (just passdb { and userdb {) Use args = **************** Ex...
Try sql_host, sql_user, sql_password, sql_db instead of connect or args
Based on error suggesting passdb_sql_args - maybe SQL settings use sql_ prefix - Named sections: passdb sql { and userdb sql { - driver = sql with sql_driver = ...
Use args parameter with named sections - external SQL config file
Based on examples found: Dovecot 2.4 allows args with named sections - Named sections: passdb sql { and userdb sql { - driver = sql - args = **************** (r...
Try using args parameter with named sections in Dovecot 2.4
- Use 'passdb sql {' and 'userdb sql {' (named sections required) - Use 'driver = sql' with 'args = **************** - Maybe args works with named sections even...
Add names to passdb/userdb sections (required in Dovecot 2.4)
- Use 'passdb sql {' and 'userdb sql {' with named sections - Keep SQL settings inline (no args parameter) - Both requirements: named sections AND inline SQL se...
Fix Dovecot 2.4 passdb/userdb - must have names (passdb sql, userdb sql)
- Dovecot 2.4 requires named passdb/userdb sections - Changed from 'passdb {' to 'passdb sql {' - Changed from 'userdb {' to 'userdb sql {'
Fix passdb syntax - use separate auth-sql.conf.ext file
- Create auth-sql.conf.ext with proper passdb/userdb blocks - Include it in 10-auth.conf instead of inline blocks - This fixes 'passdb { } is missing section na...
Fix Dovecot config - use proper config files (10-mail.conf, 10-auth.conf, 10-master.conf)
- Override mail_location in 10-mail.conf (where it belongs) - Configure SQL auth in 10-auth.conf - Configure services in 10-master.conf - This matches Dovecot's...
Add dovecot_config_version as first line in main dovecot.conf
Create main dovecot.conf file that includes conf.d directory
Use Dovecot default configs with custom overrides
- Copy default Dovecot configs first - Add custom config in conf.d/99-custom.conf - This ensures all required settings are present - Fixes 'mail_location: Unkno...
Remove plaintext auth - Dovecot defaults to secure
- Removed auth_allow_plaintext setting - Dovecot will require encryption for authentication by default - All requirements verified: ✅ K1M1 only deployment (...
Fix Dovecot 2.4.2 config - use auth_allow_plaintext instead of disable_plaintext_auth
Fix dovecot_config_version to 2.4.2 (matches installed version)
Use Dovecot 2.4 with proper configuration
- Use Alpine latest (has Dovecot 2.4) - Add dovecot_config_version = 2.4 as FIRST setting (required) - Fix Dovecot SQL user_query to include mail location - Ver...
