您现在的位置是:首页 > 折腾心得折腾心得
批量添加用户-iRedmail邮件服务器迁移
高晓波2023-02-14【折腾心得】人已围观
简介前面我们搭建了iredmail邮件服务器,现在开始将阿里邮箱迁移至自建的iRedMail邮件服务器中,本篇我们先对账户进行导入。
将阿里企业邮箱迁移至自建的iRedMail邮件服务器相对比较麻烦,因为牵扯到很多的邮箱账户和邮件,本篇我们先从账户的迁移开始。
首先,修改/usr/local/src/iRedMail-1.6.2/tools目录下create_mail_user_SQL.sh相关参数,具体如下:
考虑到密码安全问题,我们批量生产随机密码,用Excel简单的组织一下批量创建脚本,如下所示:
在/usr/local/src/iRedMail-1.6.2/tools目录下创建batch_create_user.sh脚本,将上面的内容粘贴进去,添加执行权限后运行。执行完毕后会生成批量创建用户的sql脚本,再进入MariaDB执行users.sql脚本即可批量创建用户,操作步骤如下:
成功批量创建用户后,后台已经可以看到用户信息了,如下图所示:
修改create_mail_user_SQL.sh,添加姓名参数并添加至生成sql对应的地方,具体如下:
重复上面的操作,成功后如下所示:
舒服了。
1、将阿里邮箱用户导出
登录阿里邮箱管理账号后,打开用户管理,https://qiye.aliyun.com/admin/#/account-email/account-manage,将原有账户信息全部导出。
2、iRedMail批量创建用户
iRedMail批量创建用户官方有相关文档,因为我们邮件服务器使用的MariaDb,参考此篇文档:https://docs.iredmail.org/sql.create.mail.user.html
首先,修改/usr/local/src/iRedMail-1.6.2/tools目录下create_mail_user_SQL.sh相关参数,具体如下:
# 修改邮件保存路径
STORAGE_BASE_DIRECTORY="/data/vmail/vmail1"
# 修改默认邮箱大小,这里我改为10G
DEFAULT_QUOTA='10240'
考虑到密码安全问题,我们批量生产随机密码,用Excel简单的组织一下批量创建脚本,如下所示:
在/usr/local/src/iRedMail-1.6.2/tools目录下创建batch_create_user.sh脚本,将上面的内容粘贴进去,添加执行权限后运行。执行完毕后会生成批量创建用户的sql脚本,再进入MariaDB执行users.sql脚本即可批量创建用户,操作步骤如下:
# root密码为安装iredmail时设置的密码
mysql -uroot -p
# 切换vmail数据库
user vmail
# 执行批量创建用户脚本
source /tmp/users.sql;
成功批量创建用户后,后台已经可以看到用户信息了,如下图所示:
然鹅,display name是取的@前面的前缀,这样对用户管理非常不方便,于是批量将这些用户删掉,优化脚本重来。
3、批量创建用户脚本优化
查看生成的users.sql脚本,显示的用户姓名应该是mailbox表的name字段,如下所示:
INSERT INTO mailbox (username, password, name,
storagebasedirectory,storagenode, maildir,
quota, domain, active, passwordlastchange, created)
VALUES ('tangx@xxxx.cn', '{SSHA512}uY2k+oiflLbW+r2HaL8Km8jFXPpQqKRCm2BijFjFpaLK0c2DnWW1ZYt17zo2AkM80win+HsDcZjdJCVa8fQbcAdEmAs=', 'tangx',
'/data/vmail','vmail1', 'xxxx.cn/t/a/n/tangx-2023.02.14.15.07.18/',
'10240', 'xxxx.cn', '1', NOW(), NOW());
修改create_mail_user_SQL.sh,添加姓名参数并添加至生成sql对应的地方,具体如下:
#参数校验修改
if [ X"$#" != X'3' ]; then
echo "Invalid command arguments. Usage:"
echo "bash create_mail_user_SQL.sh user@domain.ltd plain_password"
exit 255
fi
# Read input
mail="$1"
plain_password="$2"
#添加姓名参数
full_name="$3"
#修改生成的sql语句
cat <<EOF
INSERT INTO mailbox (username, password, name,
storagebasedirectory,storagenode, maildir,
quota, domain, active, passwordlastchange, created)
VALUES ('${mail}', '${CRYPT_PASSWD}', '${full_name}',
'${STORAGE_BASE}','${STORAGE_NODE}', '${maildir}',
'${DEFAULT_QUOTA}', '${domain}', '1', NOW(), NOW());
INSERT INTO forwardings (address, forwarding, domain, dest_domain, is_forwarding)
VALUES ('${mail}', '${mail}','${domain}', '${domain}', 1);
EOF
脚本优化完成后,再利用Excel重新组织一下批量生成用户语句,如下所示:重复上面的操作,成功后如下所示:
舒服了。
Tags:iredmail
很赞哦! ()
上一篇:iredmail修改附件大小
随机图文
-
帝国cms登录后始终提示您还未登录
博客运行了很长时间了,最近准备登录博客写写文章发现突然登录不了,无论怎么登录始终提示“您还未登录”。 -
win7黑苹果双系统隐藏Clover多余启动项
家里台式机装完黑苹果后,设置clover引导启动,发现开机后启动项一排,乱七八糟的,岂能忍?! 通过Clover Configurator将多余启动项隐藏 1、打开Clover Configurator 2、挂载c -
PVE 天龙八部TLBB服务端搭建(二)--服务端配置运行
继上一篇《PVE 天龙八部TLBB服务端搭建(一)--linux环境搭建》环境搭建好之后,开始服务端的运行。 服务端运行环境分为linux和windows,我这里从某宝花1块2买了一个一键端。 -
如何将iphone里面的照片视频导入到Mac中?
换了128G的手机半年了,手机的存储又被撑满了。