我正在尝试让 dovecot + pigeonhole sieve 在 ubuntu 14.04 上运行。
从我读过的所有内容来看,这似乎应该非常简单,但我似乎无法让它发挥作用。
我已经安装并配置了 dovecot,一切运行正常。现在我正尝试让 pigeonhole 进行过滤。
我从 repo 安装了 pigeonhole:
apt-get install -y dovecot-sieve dovecot-managesieved
这是我的 dovecot.conf:
disable_plaintext_auth = no
mail_privileged_group = mail
mail_location = mbox:~/mail:INBOX=/var/mail/%u
userdb {
driver = prefetch
}
userdb {
args = /etc/dovecot/dovecot-sql.conf
driver = sql
}
passdb {
args = /etc/dovecot/dovecot-sql.conf
driver = sql
}
protocols = imap lmtp
protocol imap {
mail_plugins = " autocreate"
disable_plaintext_auth = no
}
plugin {
autocreate = Trash
autocreate2 = Sent
autosubscribe = Trash
autosubscribe2 = Sent
sieve = ~/.dovecot.sieve
sieve_dir = ~/sieve
}
service auth {
unix_listener /var/spool/postfix/private/auth {
group = postfix
mode = 0660
user = postfix
}
}
service lmtp {
unix_listener /var/spool/postfix/private/dovecot-lmtp {
group = postfix
mode = 0600
user = postfix
}
}
protocol lmtp {
[email protected]
hostname=irn.cc
mail_plugins = $mail_plugins sieve
}
protocol sieve {
}
ssl=required
ssl_cert = </etc/ssl/certs/mailcert.pem
ssl_key = </etc/ssl/private/mail.key
据我所知,启动 dovecot 应该也会启动 sieve 守护进程。但是,4190 上似乎没有任何内容在监听。
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 241/master
tcp 0 0 0.0.0.0:993 0.0.0.0:* LISTEN 1706/dovecot
tcp 0 0 0.0.0.0:587 0.0.0.0:* LISTEN 241/master
tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN 1706/dovecot
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN -
tcp6 0 0 :::993 :::* LISTEN 1706/dovecot
tcp6 0 0 :::143 :::* LISTEN 1706/dovecot
tcp6 0 0 :::80 :::* LISTEN 420/apache2
tcp6 0 0 :::22 :::* LISTEN -
tcp6 0 0 :::5432 :::* LISTEN -
udp 0 0 0.0.0.0:68 0.0.0.0:* -
udp 0 0 172.17.42.1:123 0.0.0.0:* -
udp 0 0 10.0.8.15:123 0.0.0.0:* -
udp 0 0 127.0.0.1:123 0.0.0.0:* -
udp 0 0 0.0.0.0:123 0.0.0.0:* -
udp 0 0 0.0.0.0:59800 0.0.0.0:* -
udp 0 0 0.0.0.0:35789 0.0.0.0:* -
udp 0 0 0.0.0.0:5353 0.0.0.0:* -
udp6 0 0 fe80::5484:7aff:fef:123 :::* -
udp6 0 0 fe80::250:56ff:fe81:123 :::* -
udp6 0 0 ::1:123 :::* -
udp6 0 0 :::123 :::* -
udp6 0 0 :::58320 :::* -
我是不是漏掉了启动它的步骤?日志似乎没有显示任何错误,也没有显示任何表明它看到这些设置的迹象。我看到的只是 dovecot 进程正在启动。
Jun 22 17:10:51 castle dovecot: master: Dovecot v2.2.9 starting up
答案1
您必须启用以下sieve
常规功能:
protocols = imap sieve
然后你必须从deliver
LDA 启用筛选调用:
protocol lda {
mail_plugins = sieve
. . . . .
}
现在您必须配置插件本身:
plugin {
sieve_before = /etc/dovecot/common.sieve
sieve_dir = ~/sieve/
sieve = ~/user.sieve
. . . . .
}
最后一步——您必须配置managesieve
守护进程:
service managesieve-login {
inet_listener sieve {
port = 4190
}
}
答案2
和往常一样,我发布问题后立即就找到了答案。
对于将来遇到此问题的人,我必须sieve
补充protocols
:
protocols = imap lmtp sieve