[ 来源: | 作者: | 时间:2007-07-21 | 收藏 | 推荐 ] 【大 中 小】
Procmail是一个自动化的mail处理过虑程序,在linux上已经作为sendmail
缺省的本地邮递器,因此可以直接使用他而不需要什么其他特别的配置.
如果你使用的还是sendmail+binmail,可以使用.forward文件,在其中加
入
| /usr/bin/procmail
及可.
procmail主要依靠~/.procmailrc中的信息来处理邮件.
如果这个配制文件不存在,则procmail只是简单的将邮件
保存到用户的缺省信箱中.
首先简单介绍一下正则表达式.
正则表达式,称为常规表达式,用于描述字符模式.procmail
用其进行字符串匹配判断.常规表达式的基本语法有
^ 行首
$ 行尾
( 
聚合元素
(...|...|...) 或,可选项之一进行匹配
如
abc|dev|ghi)可以匹配abc,dev,ghi
[...] 封闭集中匹配一个字符
如:[abcde]可以匹配a,b,c,d,e
[^...] 求补集中匹配一个字符
it55.com
+ 一次或多次模式
如:aba+匹配aba,abaa...不匹配ab
- 最多一次模式
如:aba-匹配ab,aba,不匹配abaa,abaaa....
* 零次或多次模式
如:aba*匹配ab,aba,abaa,abaaa......
. 匹配任意字符
{n,m} 进行n-m次匹配
{n} 进行n次匹配
{n,} 进行至少n此匹配
\s 空白符
\S 非空白符
\d 数字
\d 非数字
\w 字母或数字
\w 非字母和数字
procmail使用与egrep相同的正则表达式,缺省时忽略大小写.
下面来看几个简单的例子
将所有来自peter标题含有computer的信转发给william
同时在本地留一个保存一个备份在文件petcomp中
:0
* ^From:.*peter
* ^Subject:.*computer
{
:0 c
! william@somewhere.edu
:0
petcomp
}
这个也等价于
(编辑:IT资讯之家 www.it55.com)