回复: 关于 dovecot 的expire plugins

iRedMail-0.3.0 及更高的版本中已经在 /etc/dovecot.conf 中预设了 expire 参数,但默认是禁用的。
用户只需要根据自己的需要,将它打开即可。

对于 expire 的时间,也可以自己做调整。

注:Dovecot expire plugin 在官方 wiki 上有详细的文档:
http://wiki.dovecot.org/Plugins/Expire

回复: 关于 dovecot 的expire plugins

你的 Dovecot 版本是多少?是否方便将完整的/部分 dovecot.conf 贴上来呢?

回复: 关于 dovecot 的expire plugins

我稍后测试,一会儿给你回复。不好意思

回复: 关于 dovecot 的expire plugins

今天测试了一下,很顺利:

1)官方文档里的配置完全没问题;
2)按照官方文档,启用 expire 插件,并在 dovecot.conf 中设置 'mail_debug = yes',
   重新启动 dovecot 服务,可以看到调试信息里显示已经加载了 expire 插件。
3)执行 expire-tool 时没有不加 '--test' 参数,在 dict 里指定的目录下会生成 bdb 格式
   的数据库文件。
   注:即使不启用 expire plugin,这个命令也会生成这些文件。


SQL 存储的还没有测试,暂时也不打算测试。

PS:iRedMail-0.3.2(开发版本)中已经集成了对 expire 插件的支持。

回复: 关于 dovecot 的expire plugins

关键是有清理过期数据吗?如删除配置文件中 Trash 邮箱里的数据


我刚启用这个插件,还得再等等才能告诉你结果。

另外,你测试  quota_warning  生效吗?


quota_warning 是生效的。

回复: 关于 dovecot 的expire plugins

quota_warning 设置在 dovecot.conf 里不生效?我这里是可以的。

建议打开 'mail_debug = yes' 调试参数,并且注意跟踪日志信息。

另外,可以试着这样:
1) 在 dovecot.conf 里将 quota_warning 脚本执行一个不存在的文件,例如:/tmp/non-exist.sh。
2)测试 quota;

如果超过 quota,正常情况下 dovecot 会去执行 /tmp/non-exist.sh,而因为这个文件不存在,它会在日志里报错,说执行脚本的退出状态值为 147(247还是147我给忘了)。
有这样的信息,表示 quota_warning 设置是生效的。这时候再用实际的脚本去测试。

回复: 关于 dovecot 的expire plugins

你的 Dovecot 是 1.1.x 吧?

我按照官方文档操作的,具体的路径等信息有一些调整,但不影响。
配置正常工作。

回复: 关于 dovecot 的expire plugins

真的是怪事了。。。

我看你的配置似乎没问题,但是不知道为何你那里测试无法成功。 :L

回复: 关于 dovecot 的expire plugins

原帖由 sxqw 于 2008-10-28 16:05 发表 http://www.iredmail.org/bbs/images/common/back.gif
经过两天的观察基本明白 expire plugins  的触发条件
要用 roundcubemail 或 squirrelmail 等 imap 协议的 webmail
在这类webmail中删除了邮件才会触发 expire plugins 向 DB或SQL中写入数据
而使用 Extmail 这类直接读目录的webmail不会触发 expire plugins
不过还没看到执行 expire 操作


汗一个,原来你是用 ExtMail 来操作邮件的。因为 ExtMail 直接操作文件系统上的文件,和 Dovecot 一点关系都扯不上,所以 Dovecot 的东西当然不会被触发。

expire plugin 可以作用于 imap, pop3 协议,也可以用于 deliver 这个 Local Deliver Agent 程序,所以只要你使用 Dovecot 提供的 POP3, POP3S, IMAP, IMAPS,就会触发 expire 跟踪。

回复: 关于 dovecot 的expire plugins

你可以试试最新的 svn 版本,我已经集成了 Expire 插件和 quota_warning 的设置。

回复: 关于 dovecot 的expire plugins

原帖由 sxqw 于 2008-10-28 17:21 发表 http://www.iredmail.org/bbs/images/common/back.gif
使用dovecot目前还有 filter rule 方面的问题,以及fliter rule中调用外部程序的问题


如果是在服务器上进行全局范围的过滤,可以直接用 sieve 过滤语言来实现。如果要调用外部程序,则需要重新编译 Dovecot,加入 xexec 这个 plugin。

如果要让用户自定义 filter rule,则需要 managesieve 服务。客户端则通过使用支持 sieve 过滤的 webmail 程序,自定义 filter rule。
Dovecot 团队有 patch 可以实现提供 managesieve 服务。iRedMail 中以 pysieved 服务提供 managesieve 程序,并为 SquirrelMail 提供了 avelsieve 插件。

Roundcube 也有用于 managesieve 服务的插件,但是只能用在 roundcube-0.2-beta 及以上的版本。

非常感谢你的指导,在 svn 上已经看到了,只是参照这些设置 quota_warning  依然没反应。。。。。。   实在是有点郁闷


恐怕我帮不上忙了,我的测试很顺利 :L