extmail垃圾邮件存放垃圾邮件箱
转载
extmail垃圾邮件存放垃圾邮件箱 |
将下列脚本添加在/etc/maildroprc实现垃圾邮件的分拣
# Global maildrop filter file # Uncomment this line to make maildrop default to ~/Maildir for # delivery- this is where courier-imap (amongst others) will look. #DEFAULT="$HOME/Maildir" logfile "/var/log/maildrop.log" #*spam2junk
if (/^X-Spam-Flag:.*YES/) { if (/^Delivered-To:.user\@seconddomain\.domain\.net/) { exit } else{ `test -f "$HOME/.Junk" && exit 1 || exit 0` if ( $RETURNCODE == 0 ) { `maildirmake -f Junk "$HOME"` } to "$HOME/.Junk/" } }
maildrop一些有法
代码: ` ... ` 执行外部程序,返回码为RETURNCODE,通常1表示不成功,其他表示成功执行
cc 转发信件
logfile MailDrop日志文件
log 记录信息
to 分发信件
echo 返回信息
xfilter 执行外部过滤程序
exit 退出过滤
import 输入环境变量
4、控制语句 (1)基本控制语句: 代码: if (表达式) #表达式格式:(表达式1) [ || (表达式2) ((表达式3)&&(表达式4)) ] { ...语句... } else { ...语句... } 注意//-------if (){}或者 if(){ } 都为错误的语法形式
(2)、操作符: 代码:
|| && < <= > >= == != 数值比较 lt le gt ge eq ne 文本比较 | & + - * / =~ /pattern/ /pattern/ ! ~ function()
5、常用函数 代码: getaddr(string) 从字符串提取邮件地址 hasaddr(string) 在信件之中查找邮件地址 length(string) 字符串长度 substr(string,start [,count]) 从字符串去除部分字符 time 返回当前时间 tolower(string) 转换为小写 toupper(string) 转换为大写
6、MailDrop的一些变量 代码: EXITCODE 退出码,返回给qmail的处理程序 LINES 当前信件的行数 MAILDIRQUOTA 用户的Quota RETURNCODE 返回码,执行外部程序的返回码 SIZE 信件的大小
7、过滤规则: 代码: 语法:/pattern/
代码: x* 匹配任意个x
(abc)* 匹配任意个abc
x+ 匹配至少一个x
(abc)+ 匹配至少一个abc
x? 匹配至多一个x
. 匹配换行符以外的
(abc)? 匹配至多一个abc
abc!def !用于匹配模式分开的节
[abc] 字符列表匹配,匹配a或者b或者c
[^abc] 非型匹配
\x 匹配转义字符
\nnn 匹配八进制字符
[:alnum:] 任何字母和数字
[:alpha:] 任何字母
[:cntrl:] 任何控制字符
[:digit:] 任何数字
[:graph:] 任何非空字符
[:lower:] 任何小写字母
[:print:] 任何可打印字符
[:punct:] 任何标点符号
[:space:] 任何空白字符
[:upper:] 大写字母
[:wbreak:] 任何字母、数字、下划线之外的字符
[:xdigit:] 任何16进制数
代码: 要匹配特殊字符,需要在特殊字符前面添加一个反斜线。例如,\?匹配问号。匹配反斜线,使用\\。 放置^在表达式前表示匹配一行开始的部分。放置$在表达式后表示匹配一行的结尾。 在表达式的其它地方,$标记用作变量替换。要匹配$字符,需要在前面添加反斜线
特殊字符 代码: \n 换行符
\r 回车符
\t 制表符
\f 换页符
\v 垂直制表符号
| | | |