回复: iRedMail-0.4.0 稳定版发布

是否方便贴一下你转换后的 /tmp/mailbox.sql.iredmail 文件的部分内容?贴之前将里面的密码给处理一下

回复: iRedMail-0.4.0 稳定版发布

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");

回复: iRedMail-0.4.0 稳定版发布

这是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 编辑 ]

回复: iRedMail-0.4.0 稳定版发布

仔细看了一下错误信息和导出的 SQL 结构,是少了一个字段导致的。

请重新下载最新的脚本进行账号迁移:
http://iredmail.googlecode.com/svn/trun … mailbox.sh

步骤没有任何变化,只是修正了迁移 SQL 数据的错误。

回复: iRedMail-0.4.0 稳定版发布

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 编辑 ]

回复: iRedMail-0.4.0 稳定版发布

你已经导进去了一部分数据,现在出现重复的,当然是这个提示了。

试着将之前导入的删除后重新导入试试,或者新建一个数据库来测试。

回复: iRedMail-0.4.0 稳定版发布

现在数据库的帐户是倒进去了,但原先EXTMAIL的邮箱里的帐户不能正常使用,例如:我用roundcubemail登录后,邮箱里是空的,但收发邮件可以。可是用EXTMAIL登录邮箱有迁移过来的邮件,可是不能接受邮件

回复: iRedMail-0.4.0 稳定版发布

而且发现dovecot会自己重建邮箱目录:L

回复: iRedMail-0.4.0 稳定版发布

必须保证在 SQL 里保存的目录,和 /etc/dovecot.conf 里设置的 mail_location 目录一致,才能正确迁移邮件文件。

回复: iRedMail-0.4.0 稳定版发布

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      |

回复: iRedMail-0.4.0 稳定版发布

这是迁移后实际的邮箱路径 A0/B0/test.com/E0/7A/aaa/Maildir/
这是Dovecot 自己又创建的路径 a0/b0/test.com/e0/7a/aaa/maildir/

回复: iRedMail-0.4.0 稳定版发布

Dovecot 里加了 %L 来将字符都转换成小写,所以会导致这样的问题。

都转成小写是比较建议的做法,因为如果别人写邮件地址是混合了大小写,邮件将被投递到很多可能的位置去。
重新转换一次吧,将 maildir 都转成小写的。另外,建议在转换时去掉 'Maildir/' 字符串,成为:

a0/b0/test.com/e0/7a/aaa/

然后修改 /etc/dovecot.conf 里的 mail_location,改为:

mail_location = maildir:/%Lh/Maildir/:INDEX=/%Lh/Maildir/

即可实现统一。

回复: iRedMail-0.4.0 稳定版发布

我重新修正了迁移脚本,增加了以下处理:

    [*]从 maildir 字符串中移除 'Maildir/' 字串。
    [*]将 maildir 字符串转换为小写。
    [*]提示用户修改 /etc/dovecot.conf 里的 mail_location 设置,并给出示例。


对应的 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

回复: iRedMail-0.4.0 稳定版发布

这个路径是装EMOS的后自动产生的,
那sql里保存的目录,也改成小写的吗?

回复: iRedMail-0.4.0 稳定版发布

按您的新的迁移文档作了后,那我将原先 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 编辑 ]

回复: iRedMail-0.4.0 稳定版发布

dovecot不重建邮箱目录了,但现在,用extmail登录后显示迁移前的邮箱,可是不能接收邮件,而用roundcubemail是可以接受邮件,但不显示迁移前的邮箱!!!:L

回复: iRedMail-0.4.0 稳定版发布

Roundcubemail 应该可以看到邮件才对的呀。

你将 /etc/dovecot.conf 里的 mail_debug 参数设置为 yes,重启 dovecot 服务使用 roundcubemail 登录,跟踪 /var/log/dovecot.log 里的信息,看看各个路径是否都正确。将 dovecot.log 里的内容贴一些上来分析一下

回复: iRedMail-0.4.0 稳定版发布

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 编辑 ]

回复: iRedMail-0.4.0 稳定版发布

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 的设置。

这个路径是否实际存在?
迁移后的邮件是否是在上面指定的路径里?
文件的权限是否正确?

回复: iRedMail-0.4.0 稳定版发布

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

回复: iRedMail-0.4.0 稳定版发布

不好意思,再麻烦贴一下 /etc/dovecot-mysql.conf 文件。贴之前记得把里面的密码处理掉。

回复: iRedMail-0.4.0 稳定版发布

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了!!!

回复: iRedMail-0.4.0 稳定版发布

我想问一下,正常迁移后,extmail与roundwebmail都能正常的使用且显示迁移前的邮箱吗?

回复: iRedMail-0.4.0 稳定版发布

原帖由 victorchang 于 2009-6-22 11:33 发表 http://www.iredmail.org/bbs/images/common/back.gif
有没有0.40的整合CENTOS5。2的ISO下载呀?


暂时没有。直接等 iRedMail-0.5.0 + CentOS-5.3 吧

文章数 [ 第 26 至 49 则 共 49 则 ]

页次 上一页 1 2

您必须 登陆注册 来发表回复

iRedMail 开源邮件服务解决方案 » iRedMail 技术支持 » iRedMail-0.4.0 稳定版发布