固定铅格式布局: 从左列去除重复的 Contact Info, 将铅信息移到左列; 联系人/地址移到右列; 用集成文本支持的复选框固定电话字段
将 Roundcube 标志.svg 替换为 Kamo 标志 SVG
挂载自定义标志. svg to QQ 替换圆立方体水印/背景标志
添加自定义 CSS 文件来覆盖圆立方体水印标志
- 创建自定义.cs 有水印覆盖 - 将CSS文件上载到/var/www/html/custom.css - 配置圆立方体以装入额外的 styleshows
将所有圆立方体标志替换为包括水印在内的卡莫标志
将 skin logo 配置更新到数组格式以覆盖 : - 主头徽标 - 倒塌的小头徽标 - 信箱水印/背景标识
Merge pull request #3834 from ****************
Bump jws from 3.2.2 to 3.2.3
配置圆立方体直接使用 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...