<b>extmail垃圾郵件存放垃圾郵件箱</b>
将下列腳本添加在/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
垂直制表符号