You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Cyrus IMAPd配置问题:ipurge命令无法清除过期邮件的排查求助

Cyrus IMAPd配置问题:ipurge命令无法清除过期邮件的排查求助

我这边装了Cyrus IMAP 3版本,现在遇到个头疼的问题——配置了自动清理用户过期邮件的规则,但好像完全没起作用,翻来覆去检查配置也没找出问题,想请各位大佬帮忙看看哪里错了。

先给大家看看我cyrus.conf里的相关配置:

配置文件中的SERVICES段

SERVICES {
  # add or remove services based on preferences
  imap          cmd="imapd" listen="imap" prefork=0
  imaps         cmd="imapd -s" listen="imaps" prefork=0

  # at least one LMTP is required for delivery
  lmtp          cmd="lmtpd -a" listen="localhost:lmtp" proto=tcp4
  lmtpunix      cmd="lmtpd" listen="/var/imap/socket/lmtp" prefork=0

}

配置文件中的EVENTS段(关键部分)

EVENTS {
  # this is required
  checkpoint    cmd="ctl_cyrusdb -c" period=30
. . .
 flushLakDfd cmd="ipurge -X -d 35  -f user/luserl/delivery/forwarding" at=0414
. . .

我在EVENTS里加了个每天凌晨4点14分执行的任务,用ipurge命令清理user/luserl/delivery/forwarding这个邮箱文件夹里超过35天的邮件。但实际去用户邮箱目录里看的时候,发现过期邮件还在:

find /var/spool/imap/l/user/luserl/delivery/forwarding -name "*" -type f | xargs ls -l | grep -v cyrus.header | grep -v cyrus.index | sort -k6

执行这条命令后,能看到很多超过35天的旧邮件文件还躺在目录里,完全没被清理掉。我手动执行ipurge -X -d 35 -f user/luserl/delivery/forwarding命令测试的时候,也没看到有邮件被删除的反馈,这到底是哪里出问题了?

有没有大佬遇到过类似的情况?或者能帮我看看配置里有没有明显的错误?比如ipurge的参数是不是用错了?EVENTS里的任务配置格式有没有问题?还是说权限方面的问题导致命令没执行成功?


备注:内容来源于stack exchange,提问作者James B. Byrne

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 12:23:01