CyberPanel新安装后邮箱登录失败:Snappy Mail/Rainloop认证错误求助
问题现象
- 全新安装CyberPanel并创建域名邮箱后,登录Snappy Mail/Rainloop时弹出错误:
Authentication failed
Server message: AUTHENTICATIONFAILED Authentication failed.
- 服务器环境:Contabo VPS,Ubuntu 18.04(64位),安装命令:
sh <(curl https://cyberpanel.net/install.sh || wget -O - https://cyberpanel.net/install.sh)
- Dovecot错误日志显示:
Sep 14 19:44:42 vmi1011202.contaboserver.net dovecot[733]: auth-worker(1939): Error: sql(admin@mydoamin.com,127.0.0.1,<TgoNr6boGLp/AAAB>): Invalid password in passdb: crypt() failed: Invalid argument
Sep 14 19:44:44 vmi1011202.contaboserver.net dovecot[733]: imap-login: Disconnected (auth failed, 1 attempts in 2 secs): user=admin@mydoamin.com, method=PLAIN, rip=127.0.0.1, lip=127.0.0.1, TLS, session=<TgoNr6boGLp/AAAB>
解决方案
1. 调整Dovecot密码哈希配置
编辑Dovecot的SQL认证配置文件:
nano /etc/dovecot/dovecot-sql.conf
找到password_hash配置项(无则添加),设置为兼容Ubuntu 18.04的哈希算法:
password_hash = SHA256-CRYPT
保存并退出编辑。
2. 重启Dovecot服务
systemctl restart dovecot
3. 重置邮箱密码
登录CyberPanel后台,找到对应域名的邮箱账户,重新设置密码(建议使用包含大小写字母、数字的常规密码,避免特殊字符)。
4. 测试认证有效性
使用doveadm命令验证邮箱账户认证:
doveadm auth test admin@mydomain.com
输入密码后返回OK即表示认证成功,此时可正常登录Snappy Mail/Rainloop。
问题原因
Ubuntu 18.04自带的libcrypt库对部分哈希算法支持有限,CyberPanel默认的密码存储格式与当前系统不兼容,导致Dovecot调用crypt()函数验证密码时失败。
内容的提问来源于stack exchange,提问作者Ibrahim Khan

