qmail邮局迁移用户到postfix
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

      原来的qmail邮件系统垃圾邮件太多,因此安装了新系统。

      安装结束后测试收发邮件正常。

   接下来需要将以前的用户账户,密码导入到新的邮件系统中

 

经过分析后,发现纪录用户信息的表中主要字段基本相同。可以导出账户。

表结构分析,相同的字段对比:(左qmail右postfix)

pw_name
username
pw_passwd
password
pw_dir
maildir
pw_dir
homedir
pw_domain
domain
pw_name
uid

 

不过这里依然有一些小区别,如右边的username比左边的pw_name多了@域名
待会我们导出数据后对数据进行一些修改。

先从qmailmysql数据库中将需要的字段导出为文件

#mysql -uroot -p

>use vpopmail;

>select   pw_name,pw_name,pw_passwd,pw_dir,pw_dir,pw_domain into outfile 'mailuser.sql' from   vpopmail;

>exit;

然后把导出的mailuser.sqlssh传到新的机器上。因为我们需要修改数据,这里先用ssh客户端传回windows机器上。

 

用写字板打开mailuser.sql文件,运用查找替换功能进行我们所需要的修改。并将所有的分隔符由原来的tab替换为逗号。注意都要用半角格式。
重新保存

 

登录新邮件服务器,
#mysql –<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />uroot –p
>use extmail;
> LOAD DATA LOCAL INFILE '/root/mailuser.sql' INTO TABLE mailbox FIELDS TERMINATED BY ',' (username,homedir,maildir,domain,uid,password);
这里的字段排序要和sql文件中的字段顺序一致。

 

接下来我们需要将用户邮件导过来。
登录旧邮件系统。打包邮箱目录并上传。
tar czvf  domain.tar.gz /home/vpopmail/domains/
sftp ip
输入密码
put domain.tar.gz
exit
然后将domain解压缩到对应的目录,然后登录邮箱,
mv 目录 /home/domains/
\cp -R 目录 /home/domains/
加斜杠的意思是屏蔽cp的别名功能,强制覆盖已经存在的文件
复制完后记得修改一下属性
chown -R vuser.vgroup /home/domains/