Emos 老邮件系统用户迁移方案

本文分享了Extmail邮件系统用户信息迁移方案及步骤,包括提取原有系统用户信息、调整密码加密方式、创建用户邮箱目录等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近负责搭建了Emos1.5 Extmail邮件系统,已通过功能、性能测试,打算正式上线。上线前一个重要工作就是将原有邮件系统的用户信息转移到Extmail邮件系统。为此,我做了一个迁移方案,并写了几个相关程序。

1、 列举出原有邮件系统的所有用户信息,可以保存成文件,也可以直接写入数据库。

原有邮件系统用户信息是存放在ldap中,因此,可以通过写个java程序将所有邮件账户信息遍历出来,账户信息可保存至文件,也可直接写入数据库。

本案直接写入数据库,将原有邮件系统的邮件账户信息按照extmail数据库的mailboxsehema,写入到mailbox表。

2、 修改密码的加密方式

原有邮件系统的邮件账户口令是以sha1算法加密的,因此其导出的账户口令信息是sha1密文,为此需修改extmailextman应用的加密方式,分别修改webmail.cfwebman.cf文件即可,改成如下内容:

SYS_CRYPT_TYPE = sha1

3、 根据mailbox表数据,产生用户邮箱目录

写了个perl程序,遍历mailbox数据表,生成邮箱目录,最后别忘了授权。

#!/usr/bin/perl -w

#用户目录生成程序,根据mailbox表的用户信息,生成域目录下的用户邮箱文件夹

use strict;

use DBI;

#connect to mysql

my $dbh = DBI->connect("DBI:mysql:extmail:localhost","extmail","123456")

|| die "Could not connect to database." . DBI ->errstr;

my $sql_stmt = "select uid from mailbox where active = 1";

my $sth = $dbh->prepare($sql_stmt);

$sth->execute();

#domain、路径常量

#"tmail.wahaha.com.cn";

my $domain = "emos.com";

my $path = "/home/domains/$domain/";

#遍历数据

print "virtual user dir making......\n";

my $count = 0;

while(my @row = $sth->fetchrow_array()){

(my $uid) = @row;

$count++;

my $fullpath = $path.$uid;

unless(-e $fullpath){

mkdir($fullpath,0755);

if(-e $fullpath){

$fullpath .="/Maildir";

mkdir($fullpath,0755);

if(-e $fullpath){

mkdir "$fullpath/new";

mkdir "$fullpath/cur";

mkdir "$fullpath/tmp";

}

}

}

}

$sth->finish();

$dbh->disconnect();

#授权

`chown -R vuser:vgroup /home/domains/`;

print "Total $count users transfered!\n";

exit;

4、 登录extmail web邮箱,如能用老邮件系统账户信息登录,恭喜,用户迁移成供。

用户组,又叫邮件列表,还没迁移过来,只要能将老邮件系统的用户组信息整理出来,并写入alias数据表即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值