我想在我的 dovecot 服务器中使用 managesieve,它使用虚拟用户和 ldap 作为用户。这是我的 dovecot.conf 中的配置:
plugin {
sieve_dir=/var/mail/sievescript/%u_scripts
sieve_extensions = +imapflags
}
protocol managesieve {
login_executable = /usr/lib/dovecot/managesieve-login
mail_executable = /usr/lib/dovecot/managesieve
managesieve_max_line_length = 65536
managesieve_logout_format = bytes=%i/%o
listen = *:2000
}
如果我尝试通过 telnet 与 managesieve 通信,会发生以下情况:
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
"IMPLEMENTATION" "dovecot"
"SIEVE" "fileinto reject envelope encoded-character vacation subaddress comparator- i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date imapflags"
"SASL" "PLAIN LOGIN"
"STARTTLS"
"NOTIFY" "mailto"
"VERSION" "1.0"
OK "Dovecot ready."
AUTHENTICATE "PLAIN" "xxxxxxxxxxxxx"
BYE "Internal error occured. Refer to server log for more information. [2011-10-02 00:48:09]"
Connection closed by foreign host.
Dovecot Log 说道:
2011-10-02 00:48:09 MANAGESIEVE(user): Fatal: Failed to create sieve storage with data: /var/mail/sievescript/user_scripts
sievescirpt 文件夹归 dovecot:dovecot 所有。有人能帮忙吗?
谢谢。
答案1
如果你问自己这是什么:这是配置中的错误路径,因为我使用了 %u,但我应该使用 %m