10-mail.cf要求如下配置:
mail_home = /home/xmail/%d/%n
mail_location = maildir:~/Maildir
15-lda.conf和lmtp要启用sieve
rotocol lda {
# Space separated list of plugins to load (default is global mail_plugins).
mail_plugins = $mail_plugins sieve
}
protocol lmtp {
# Space separated list of plugins to load (default is global mail_plugins).
mail_plugins = $mail_plugins sieve
}
90-sieve.conf 要指定文件名和plugin
plugin {
# default/active script.
#sieve = file:~/sieve;active=~/.dovecot.sieve
sieve = ~/.dovecot.sieve
sieve_dir = /usr/local/lib/dovecot/sieve
# Location for ":global" include scripts as used by the "include" extension.
#sieve_global =
}
最后在在邮箱根目录下新建 .dovecot.sieve ,规则写里面来过滤
#邮件头里面X-Spam-Flag:YES 则投递到垃圾邮件
#dovecot配置:http://ebalaskas.gr/wk/dovecot
#过滤插件的规则文档:http://tools.ietf.org/html/rfc3028
require "fileinto";
if header :comparator "i;ascii-casemap" :contains "X-Spam-Flag" "YES" {
fileinto "Junk";
stop;
}
# vacation 自动回复
# discarded duplicate vacation response to 会丢弃重复的自动回复
# redirect 转发
# Sieve filter
require ["fileinto","vacation"];
vacation "Sorry,later agian!";
redirect "mytest@qq.com";
重启dovecot 发送 spam邮件,在dovecot日志里面可以看到
ec 09 17:24:06 lda(info@westhost.cn): Debug: none: root=, index=, indexpvt=, control=, inbox=, alt=
Dec 09 17:24:06 lda(info@westhost.cn): Debug: Destination address: info@westhost.cn (source: user@hostname)
Dec 09 17:24:06 lda(info@westhost.cn): Debug: sieve: Pigeonhole version 0.4.6 (3e924b1b6c5c+) initializing
Dec 09 17:24:06 lda(info@westhost.cn): Debug: sieve: include: sieve_global is not set; it is currently not possible to include `:global' scripts.
Dec 09 17:24:06 lda(info@westhost.cn): Debug: sieve: file storage: Performing auto-detection
Dec 09 17:24:06 lda(info@westhost.cn): Debug: sieve: file storage: Root exists (/home/xmail/westhost.cn/info)
Dec 09 17:24:06 lda(info@westhost.cn): Debug: sieve: file storage: Using script storage path: /home/xmail/westhost.cn/info/sieve
Dec 09 17:24:06 lda(info@westhost.cn): Debug: sieve: file storage: Using active Sieve script path: /home/xmail/westhost.cn/info/.dovecot.sieve
Dec 09 17:24:06 lda(info@westhost.cn): Debug: sieve: file storage: Relative path to sieve storage in active link: sieve/
Dec 09 17:24:06 lda(info@westhost.cn): Debug: sieve: file storage: Using script storage path: /home/xmail/westhost.cn/info/.dovecot.sieve
Dec 09 17:24:06 lda(info@westhost.cn): Debug: sieve: file script: Opened script `.dovecot' from `/home/xmail/westhost.cn/info/.dovecot.sieve'
Dec 09 17:24:06 lda(info@westhost.cn): Debug: sieve: Using the following location for user's Sieve script: /home/xmail/westhost.cn/info/.dovecot.sieve
Dec 09 17:24:06 lda(info@westhost.cn): Debug: sieve: Loading script /home/xmail/westhost.cn/info/.dovecot.sieve
Dec 09 17:24:06 lda(info@westhost.cn): Debug: sieve: Script binary /home/xmail/westhost.cn/info/.dovecot.svbin is not up-to-date
Dec 09 17:24:06 lda(info@westhost.cn): Debug: sieve: Script `.dovecot' from /home/xmail/westhost.cn/info/.dovecot.sieve successfully compiled
Dec 09 17:24:06 lda(info@westhost.cn): Debug: sieve: Executing script from `/home/xmail/westhost.cn/info/.dovecot.sieve'
Dec 09 17:24:06 lda(info@westhost.cn): Info: sieve: msgid=<2014120917230993741660@gotoip2.com>: stored mail into mailbox 'Junk'
最后显示已经成功投递到 .Junk目录下了。表示成功 如果有报错
Dec 09 17:17:10 lda(info@westhost.cn): Error: User info@westhost.cn doesn't have home dir set, disabling duplicate database
Dec 09 17:17:10 lda(info@westhost.cn): Debug: sieve: Pigeonhole version 0.4.6 (3e924b1b6c5c+) initializing
Dec 09 17:17:10 lda(info@westhost.cn): Debug: sieve: include: sieve_global is not set; it is currently not possible to include `:global' scripts.
Dec 09 17:17:10 lda(info@westhost.cn): Debug: sieve: file storage: Performing auto-detection
Dec 09 17:17:10 lda(info@westhost.cn): Debug: sieve: file storage: HOME is not set
Dec 09 17:17:10 lda(info@westhost.cn): Error: sieve: file storage: Could not find storage root directory; path was left unconfigured and autodetection failed
Dec 09 17:17:10 lda(info@westhost.cn): Error: sieve: Failed to access user storage (temporary failure)
则是上面 mail_home = /home/xmail/%d/%n mail_location = maildir:~/Maildir 没有设置好的原因