• iRedMail-0.9.0 及后续新版本:SSHA512
  • iRedMail-0.8.7 及更早版本:MD5

所有的邮箱用户账户存放于 SQL 表 vmail.mailbox 中,用户密码则存放于 mailbox.password 字段中。进入MySQL并切换到vmail

select username,password from mailbox;

 会发现由{SSHA512}打头的密码,这个密码无法破译,只能选择更新覆盖掉,我选择的事直接改成明文密码

  • 要保存明文密码,需要加上 {PLAIN} 前缀:
  1. sql> USE vmail;
  2. sql> UPDATE mailbox SET password='{PLAIN}123456' WHERE username='xx@xx';

(注意:你需要将 xx@xx 替换为实际的邮件地址)

然后你的密码就修改成功啦!就可以再管理页面登录了

 

via.https://blog.csdn.net/hapniss/article/details/131381797

 

另一个重置密码脚本参考:

#!/usr/bin/env bash# 检查输入参数的数量是否为2,如果不是,打印错误信息并退出脚本
if [ X"$#" != X'2' ]; then
echo "参数错误"
echo "使用方法: bash ./mailboxpw.sh 用户@域名 密码"
exit 255
fi
# 读取输入参数,\$1是邮箱地址,\$2是新密码
mailbox="\$1"
password="\$2"
# 使用doveadm pw命令加密密码,-s 'ssha512'指定使用SSHA-512算法,-p ${password}指定要哈希的密码
# 将加密后的密码保存在CRYPT_PASSWD变量中
CRYPT_PASSWD="$(doveadm pw -s 'ssha512' -p ${password})"
# 打印SQL更新语句,用于更新邮箱的密码
# ${mailbox,,}将邮箱地址转换为小写
cat <<EOF
UPDATE mailbox SET password = '${CRYPT_PASSWD}' WHERE username = '${mailbox,,}';
EOF
# 退出脚本,返回状态码0表示成功
exit 0

https://forum.iredmail.org/topic20079-reset-password-from-cli.html

 

官方文档(有脚本可以单个/批量修改):

https://docs.iredmail.org/reset.user.password.html 

最后修改:2024 年 02 月 19 日 03 : 29 AM