安装配置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目录,手动创建即可:
- 创建目标目录:
mkdir -p /var/lib/dovecot/sieve - 设置正确权限(确保Dovecot进程可读写):
chown dovecot:dovecot /var/lib/dovecot/sieve chmod 750 /var/lib/dovecot/sieve - 重新执行创建规则文件的命令
- 编译Sieve文件(Dovecot需要编译后的二进制格式):
sievec /var/lib/dovecot/sieve/default.sieve - 重启Dovecot服务使配置生效:
systemctl restart dovecot
内容的提问来源于stack exchange,提问作者Duck
相关产品推荐
相关产品推荐

