回复: iRedMail-0.4.0 稳定版发布
是否方便贴一下你转换后的 /tmp/mailbox.sql.iredmail 文件的部分内容?贴之前将里面的密码给处理一下
支持 Red Hat Enterprise Linux, CentOS, Scientific Linux, Debian, Ubuntu, FreeBSD, OpenBSD
您尚未登陆。 请选择登陆或是注册一个新账号。
iRedMail 开源邮件服务解决方案 » iRedMail 技术支持 » iRedMail-0.4.0 稳定版发布
是否方便贴一下你转换后的 /tmp/mailbox.sql.iredmail 文件的部分内容?贴之前将里面的密码给处理一下
INSERT INTO mailbox (username, password, maildir, quota, netdiskquota, domain, created, active) values ("aaa@test.com", "$1$nnp8U7do$L1Wo6pb7/SYb8RiQOnl470", "test.com/aaa/Maildir/", 246512500, "test.com", "2008-06-16 09:30:00", "1");
INSERT INTO mailbox (username, password, maildir, quota, netdiskquota, domain, created, active) values ("bbb@test.com", "$1$ZrxmNo1o$Kt1oWyzwvIIxn4/THdl1u1", "test.com/bbb/Maildir/", 246512500, "test.com", "2008-05-14 14:19:57", "1");
这是mailbox.sql的部分
aaa@test.com $1$nnp8U7do$L1Wo6pb7/SYb8RiQOnl470 test.com/aaa/Maildir/ 252428800000S 252428800000S test.com 2008-06-16 09:30:00 1 aaa
bbb@test.com $1$ZrxmNo1o$Kt1oWyzwvIIxn4/THdl1u1 test.com/bbb/Maildir/ 252428800000S 252428800000S test.com 2008-05-14 14:19:57 1 bbb
[ 本帖最后由 ikic 于 2009-6-4 14:59 编辑 ]
仔细看了一下错误信息和导出的 SQL 结构,是少了一个字段导致的。
请重新下载最新的脚本进行账号迁移:
http://iredmail.googlecode.com/svn/trun … mailbox.sh
步骤没有任何变化,只是修正了迁移 SQL 数据的错误。
mysql> SOURCE /tmp/mailbox.sql.iredmail;
现在显示
ERROR 1062 (23000): Duplicate entry 'aaa@test.com' for key 1
ERROR 1062 (23000): Duplicate entry 'bbb@test.com' for key 1
[ 本帖最后由 ikic 于 2009-6-4 17:28 编辑 ]
你已经导进去了一部分数据,现在出现重复的,当然是这个提示了。
试着将之前导入的删除后重新导入试试,或者新建一个数据库来测试。
现在数据库的帐户是倒进去了,但原先EXTMAIL的邮箱里的帐户不能正常使用,例如:我用roundcubemail登录后,邮箱里是空的,但收发邮件可以。可是用EXTMAIL登录邮箱有迁移过来的邮件,可是不能接受邮件
而且发现dovecot会自己重建邮箱目录:L
必须保证在 SQL 里保存的目录,和 /etc/dovecot.conf 里设置的 mail_location 目录一致,才能正确迁移邮件文件。
mail_location = maildir:/%Lh/:INDEX=/%Lh/
下面是sql
| aaa@test.com | $1$jXUX0BR9$nGTv8VcGIc.dAn/fM5n/r0 | | A0/B0/test.com/E0/7A/aaa/Maildir/ | 1048576 | test.com | | normal | 1 | 1 | 1 | 1 | 1 | 2009-03-25 14:42:34 | 0000-00-00 00:00:00 | 9999-12-31 00:00:00 | 1 | | | 1048576 |
| bbb@test.com | $1$B1HtbWGp$jE/Y.xE8hU.tKXFJCqVeJ1 | | A0/B0/test.com/31/F2/bbb/Maildir/ | 1048576 | test.com | | normal | 1 | 1 | 1 | 1 | 1 | 2009-03-25 14:43:18 | 0000-00-00 00:00:00 | 9999-12-31 00:00:00 | 1 | | | 1048576 |
这是迁移后实际的邮箱路径 A0/B0/test.com/E0/7A/aaa/Maildir/
这是Dovecot 自己又创建的路径 a0/b0/test.com/e0/7a/aaa/maildir/
Dovecot 里加了 %L 来将字符都转换成小写,所以会导致这样的问题。
都转成小写是比较建议的做法,因为如果别人写邮件地址是混合了大小写,邮件将被投递到很多可能的位置去。
重新转换一次吧,将 maildir 都转成小写的。另外,建议在转换时去掉 'Maildir/' 字符串,成为:
a0/b0/test.com/e0/7a/aaa/
然后修改 /etc/dovecot.conf 里的 mail_location,改为:
mail_location = maildir:/%Lh/Maildir/:INDEX=/%Lh/Maildir/
即可实现统一。
我重新修正了迁移脚本,增加了以下处理:
对应的 svn 修改记录是 r1059:
http://code.google.com/p/iredmail/source/detail?r=1059
脚本下载地址:
http://iredmail.googlecode.com/svn/trun … mailbox.sh
迁移文档也做了同步:
http://www.iredmail.org/wiki/index.php? … l_Solution
这个路径是装EMOS的后自动产生的,
那sql里保存的目录,也改成小写的吗?
按您的新的迁移文档作了后,那我将原先 ExtMail/EMOS 邮件系统里的邮件目录直接复制到/home/vmail下,把原先实际的邮箱路径 A0/B0/test.com/E0/7A/aaa/Maildir/,都改为a0/b0/test.com/e0/7a/aaa/这样对吗?
[ 本帖最后由 ikic 于 2009-6-5 15:14 编辑 ]
dovecot不重建邮箱目录了,但现在,用extmail登录后显示迁移前的邮箱,可是不能接收邮件,而用roundcubemail是可以接受邮件,但不显示迁移前的邮箱!!!:L
Roundcubemail 应该可以看到邮件才对的呀。
你将 /etc/dovecot.conf 里的 mail_debug 参数设置为 yes,重启 dovecot 服务使用 roundcubemail 登录,跟踪 /var/log/dovecot.log 里的信息,看看各个路径是否都正确。将 dovecot.log 里的内容贴一些上来分析一下
dovecot: Jun 05 15:18:32 Info: auth(default): client out: OK 1 user=aaa
@test.com
dovecot: Jun 05 15:18:32 Info: auth(default): master in: REQUEST 8
2473 1
dovecot: Jun 05 15:18:32 Info: auth-worker(default): sql(aaa@test.com,127
.0.0.1): SELECT CONCAT("/home/vmail/", maildir) AS home, "/home/vmail/sieve/
test.com/aaa/" AS sieve_dir, CONCAT('*:bytes=', quota*1048576) AS quo
ta_rule FROM mailbox WHERE username='aaa@test.com' AND activ
e='1' AND enableimap='1' AND expired >= NOW()
dovecot: Jun 05 15:18:32 Info: auth(default): master out: USER 8 aaa@test
.com home=/home/vmail/a0/b0/test.com/e0/7a/aaa/ sieve_di
r=/home/vmail/sieve/test.com/aaa/ quota_rule=*:bytes=1099511627776
dovecot: Jun 05 15:18:32 Info: imap-login: Login: user=<aaa@test.com>, me
thod=PLAIN, rip=127.0.0.1, lip=127.0.0.1, secured
dovecot: Jun 05 15:18:32 Info: IMAP(aaa@test.com): Loading modules from d
irectory: /usr/lib/dovecot/imap
dovecot: Jun 05 15:18:32 Info: IMAP(aaa@test.com): Module loaded: /usr/li
b/dovecot/imap/lib10_quota_plugin.so
dovecot: Jun 05 15:18:32 Info: IMAP(aaa@test.com): Module loaded: /usr/li
b/dovecot/imap/lib11_imap_quota_plugin.so
dovecot: Jun 05 15:18:32 Info: IMAP(aaa@test.com): Module loaded: /usr/li
b/dovecot/imap/lib20_zlib_plugin.so
dovecot: Jun 05 15:18:32 Info: IMAP(aaa@test.com): Effective uid=500, gid
=500, home=/home/vmail/a0/b0/test.com/e0/7a/aaa/
dovecot: Jun 05 15:18:32 Info: IMAP(aaa@test.com): Quota root: name= back
end=maildir args=
dovecot: Jun 05 15:18:32 Info: IMAP(aaa@test.com): Quota rule: root= mail
box=* bytes=1099511627776 (0%) messages=0 (0%)
dovecot: Jun 05 15:18:32 Info: IMAP(aaa@test.com): maildir: data=//home/v
mail/a0/b0/test.com/e0/7a/aaa//Maildir/:INDEX=//home/vmail/a0/b0/test
.com/e0/7a/aaa//Maildir/
dovecot: Jun 05 15:18:32 Info: IMAP(aaa@test.com): maildir++: root=//home
/vmail/a0/b0/test.com/e0/7a/aaa//Maildir, index=, control=, inbox=//home/
vmail/a0/b0/test.com/e0/7a/aaa//Maildir
dovecot: Jun 05 15:18:32 Info: IMAP(aaa@test.com): Disconnected: Logged o
ut bytes=337/1052
dovecot: Jun 05 15:18:32 Info: auth(default): new auth connection: pid=2475
[ 本帖最后由 ikic 于 2009-6-5 16:20 编辑 ]
maildir: data=//home/v
mail/a0/b0/test.com/e0/7a/aaa//Maildir/:INDEX=//home/vmail/a0/b0/test
.com/e0/7a/aaa//Maildir/
maildir++: root=//home
/vmail/a0/b0/test.com/e0/7a/aaa//Maildir, index=, control=, inbox=//home/
vmail/a0/b0/test.com/e0/7a/aaa//Maildir
[/code]
这里的 maildir++ 的路径里,Maildir 后面似乎要有一个斜杆的。麻烦再贴一下 mail_location 的设置。这个路径是否实际存在?
迁移后的邮件是否是在上面指定的路径里?
文件的权限是否正确?
mail_location = maildir:/%Lh/Maildir/:INDEX=/%Lh/Maildir/
ls -l /home/vmail/a0/b0/test.com/e0/7a/aaa/
total 40
-rwx------ 1 vmail vmail 141 Jun 5 13:51 abook.cf
drwx------ 2 vmail vmail 4096 May 26 11:17 cur
-rwx------ 1 vmail vmail 8192 Jun 5 13:50 extmail-curcache.db
-rwx------ 1 vmail vmail 11 Jun 5 13:50 extmail-curcnt
drwx------ 3 vmail vmail 4096 Jun 5 13:51 test.com
drwx------ 9 vmail vmail 4096 Jun 5 15:18 Maildir
-rw------- 1 vmail vmail 45 Jun 5 14:51 maildirsize
drwx------ 2 vmail vmail 4096 May 26 11:16 new
drwx------ 2 vmail vmail 4096 Jun 5 14:50 tmp
Roundcubemail自己又建了test.com
不好意思,再麻烦贴一下 /etc/dovecot-mysql.conf 文件。贴之前记得把里面的密码处理掉。
driver = mysql
default_pass_scheme = CRYPT
connect = host=localhost dbname=vmail user=vmail password=56789)8665
password_query = SELECT password FROM mailbox WHERE username='%u' AND active='1' AND expired >= NOW()
user_query = SELECT CONCAT("/home/vmail/", maildir) AS home, "/home/vmail/sieve/%Ld/%Ln/" AS sieve_dir, CONCAT('*:bytes=', quota*1048576) AS quota_rule FROM mailbox WHERE username='%u' AND active='1' AND enable%Ls='1' AND expired >= NOW()
麻烦Bibby了!!!
我想问一下,正常迁移后,extmail与roundwebmail都能正常的使用且显示迁移前的邮箱吗?
iRedMail 开源邮件服务解决方案 » iRedMail 技术支持 » iRedMail-0.4.0 稳定版发布
Powered by PunBB, supported by Informer Technologies, Inc.
Currently installed 3 official extensions. Copyright © 2003–2010 PunBB.
页面生成时间 0.036 秒, 共执行查询 66 条