3,201

(48 篇回复,发表在 iRedMail 技术支持)

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

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

将 conf/functions 文件的第 164 行注释掉,重新执行一下脚本,看看是否可以:

    # Check acl support.
    #check_acl            # <- 在这一行前面加一个 # 符号

已发送到你邮箱。

需要用 svn 客户端工具 checkout 出来。给我个邮箱地址,我给你提供一个 -snapshot 版本吧。

这个代码我暂时还没来得及测试,所以我建议你还是按照文档,一步步地操作。因为文档是经过测试过很多遍了的,应该不会出问题。

3,205

(48 篇回复,发表在 iRedMail 技术支持)

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

    [*]从 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

3,206

(48 篇回复,发表在 iRedMail 技术支持)

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

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

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

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

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

即可实现统一。

3,207

(19 篇回复,发表在 iRedMail 技术支持)

捐赠嘛,当然不限制数额,没有下限,上不封顶。:lol

3,208

(19 篇回复,发表在 iRedMail 技术支持)

那就捐赠我们这个项目吧,为我们付出的时间和做出的一些贡献买单 :lol

原帖由 eddiechen 于 2009-6-4 20:11 发表 http://www.iredmail.org/bbs/images/common/back.gif
没错,你肯定没有运行
mount -o remount,rw,acl /

或者你没有修改 /etc/fstab

因为ldap的用户没有导入,我也为了这个折腾了好久


这个昨晚在脚本里加了检测的代码,如果不支持 ACL 将会退出脚本,并给出配置的提示。

贴一下下面的命令的所有输出:

# strace -Ff -tt slapd -h 'ldap:/// ldapi:///' -g openldap -u openldap -f /etc/ldap/slapd.conf

3,211

(48 篇回复,发表在 iRedMail 技术支持)

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

3,212

(19 篇回复,发表在 iRedMail 技术支持)

增加截图:编辑用户资料。

可以控制:

    [*]用户允许使用的服务
    [*]是否将用户的邮件地址显示在全局地址簿里
    [*]Sender Bcc
    [*]Recipient Bcc
    [*]电话号码(可以多个)
    [*]员工 ID(可以是工号等信息)

110人,手工处理起来应该不会太难。或者用 shell/python 写个脚本去处理。

你要先总结出邮件的规律,怎么来唯一标识这样的邮件,然后再对应的去处理。

如果没有总结这些规律,我也无法帮忙了。

3,214

(3 篇回复,发表在 iRedMail 技术支持)

Jun  5 04:28:26 mail postfix/smtp[10266]: connect to 127.0.0.1[127.0.0.1]:10024: Connection refused


这里显示 amavisd 没有启动,邮件应该都 pending 在这个环节了。
执行:

# /etc/init.d/amavisd restart

重新启动它。

这里有介绍邮件文件的命名规则: http://wiki.dovecot.org/MailboxFormat/Maildir

3,216

(1 篇回复,发表在 iRedMail 技术支持)

Postfix stable release 2.6.2 fixes one defect in SASL support.
This does not affect Postfix versions 2.5 and earlier.

With plaintext SMTP sessions AND smtpd_tls_auth_only=yes AND 
smtp_sasl_auth_enable=yes, the SMTP server logged warnings for
reject_*_sender_login_mismatch, instead of enforcing them.

You can find Postfix version 2.6.2 at the mirrors listed at
http://www.postfix.org/

The same fix is also available in Postfix snapshot 2.7-20090528.
Postfix versions 2.5 and earlier are not affected.

    Wietse

很抱歉,我没有研究过群发的邮件到达用户邮箱后是否文件名相同(个人猜测应该是不同的--纯猜测的,晚点查证一下)。

邮件被收取后,可能会被放到不同的目录里去,比如用户手动将它放到了 Sent/Drafts/Junk 目录,等等。

这样删除并不是很好控制,你必须要能确认那就是你发的邮件。用户不多的话,可以用 find 去找邮件,然后通过 python 或其它脚本来查找邮件头里的指纹(例如邮件标题等信息),识别并删除它。

投递邮件的流程大抵如下:

用户通过 SMTP 发出邮件 => Postfix 接收下邮件,并放入队列(/var/spool/postfix/),等待投递 => 投递邮件

你能做的,就是在邮件还在队列的时候,先用 postqueue 命令查到这封邮件的 ID,然后用 postsuper 命令从队列中删除这个邮件 ID(也就是删除这封邮件)。gmail 应该也是这样处理的。
如果已经投递出去,就没法追回了。

0.3-beta 已经发布了,而且已经有了一些实用的 plugins 了。
相信将是 Squirrelmail 的杀手

你应该没有按照文档的说明,在 /etc/fstab 文件里设置 acl 参数吧?

3,221

(48 篇回复,发表在 iRedMail 技术支持)

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

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

你的 LDAP 服务没有起来。手工启动一下:

# /etc/init.d/ldap restart

注意这条命令的输出信息。如果没有什么错误信息,应该就启动了。

如果重试后还无法启动,将 /etc/ldap/slapd.conf 里的 loglevel 参数由 0 改为 256 后再启动一下试试,并且将 /var/log/openldap.log 末尾的内容贴几行(>=10)。

同样的方法,检查 /var/log/dovecot.log 的信息

先登录一下 webmail,然后将 /var/log/mail.log 里关于这次登录的错误日志贴上来。

操作步骤:

1:打开终端,执行:

# tail -0f /var/log/mail.log

这时候会一直停留在命令行界面。

2:从 webmail 登录。
3:从第 1 步的终端下会有一些新的信息,将这些信息贴上来。然后按 Ctrl + C 组合键退出 tail 命令。

3,225

(48 篇回复,发表在 iRedMail 技术支持)

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

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

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