qmail邮局迁移用户到postfix
      原来的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 – ur oot –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/