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

安装配置Dovecot Sieve时遇目录不存在问题求助

Dovecot Sieve规则文件创建失败:目录不存在

已执行操作

  • 安装组件命令:
    apt install dovecot-imapd dovecot-sieve spamassassin spamc
    
  • 修改/etc/dovecot/dovecot.conf(注:原文拼写为docevot.conf,应为笔误):
    • 注释掉!include conf.d/*.conf
    • 添加以下配置:
      protocol lda {
        mail_plugins = $mail_plugins sieve
      }
      protocol lmtp {
        mail_plugins = $mail_plugins sieve
      }
      plugin {
          sieve = ~/.dovecot.sieve
          sieve_default = /var/lib/dovecot/sieve/default.sieve
          sieve_dir = ~/.sieve
          sieve_global_dir = /var/lib/dovecot/sieve/
      }
      

报错信息

执行以下命令创建Sieve规则文件时:

echo "require [\"fileinto\", \"mailbox\"];
if header :contains \"X-Spam-Flag\" \"YES\"
        {
                fileinto \"Junk\";
        }" > /var/lib/dovecot/sieve/default.sieve

出现报错:

-bash: /var/lib/dovecot/sieve/default.sieve: No such file or directory

当前目录结构

root@server:/etc/dovecot# ls /var/lib/dovecot/      
instances
root@server:/etc/dovecot# ls /var/lib/dovecot/instances 
/var/lib/dovecot/instances

命令路径验证

root@server:/etc/dovecot# which dovecot
/usr/sbin/dovecot
root@server:/etc/dovecot# which sieve
/usr/bin/sieve

疑问

不确定需手动创建目录,还是安装过程存在问题。


解决方案

这是正常情况,dovecot-sieve安装后不会自动创建全局Sieve目录,手动创建即可:

  1. 创建目标目录:
    mkdir -p /var/lib/dovecot/sieve
    
  2. 设置正确权限(确保Dovecot进程可读写):
    chown dovecot:dovecot /var/lib/dovecot/sieve
    chmod 750 /var/lib/dovecot/sieve
    
  3. 重新执行创建规则文件的命令
  4. 编译Sieve文件(Dovecot需要编译后的二进制格式):
    sievec /var/lib/dovecot/sieve/default.sieve
    
  5. 重启Dovecot服务使配置生效:
    systemctl restart dovecot
    

内容的提问来源于stack exchange,提问作者Duck

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 10:55:21