sendmail.cf

#TITLE=sendmail.cf
;##########################################################
;# Version 0.1 bailing. 2006-03-11 15:10:44
;##########################################################

#DELIMITER=.:!#&()*,/;<=>?[\]`{|}~#@
#
QUOTATION1='
#
QUOTATION2="
#
CONTINUE_QUOTE=n
#
LINECOMMENT=#
#
LINECOMMENT2=
#
COMMENTON=
#
COMMENTOFF=
#
COMMENTON2=
#
COMMENTOFF2=
#
ESCAPE=\
#
CASE=y
#
PREFIX1=
#
PREFIX2=
#
PREFIX3=$
#
PREFIX4=
#
PREFIX5=
#
SUFFIX1=
#
SUFFIX2=
#
SUFFIX3=
#
SUFFIX4=
#
SUFFIX5=

#KEYWORD=宏,类选项
D
C
F
O
$
@

#KEYWORD=用户,优先
T
P
K
V
M
H
R
S
#KEYWORD=变量

;
;
1 D,定义宏 
;命令D定义宏并为其赋值。当宏被定义之后,它就负责提供提供其存储的值给sendmail
.cf文件中其他的命令使用或者
;直接提供给sendmail使用。宏的名字可以是任何单字符,小写的用于sendmail内部宏,用户创建的宏只能使用大写字
;母作为名字。一些sendmail的内部宏也在sendmail
.cf文件里定义。例如下面两行定义了宏D和内部宏n:DDcs.mit.edu 
;DnMAILER
-DEAMON则宏D的值为cs.mit.edu,宏n的值为MAILER-DEAMON.要使用宏的值时,必须在宏的名字前面加上符
;号
"$",以这种形式来引用它的值。例如: 
;
#my official host name 
;Dj$w.$D 
;如果宏w的值为主机名moon
,此时宏j的值就为moon.cs.mit.edu,这便是本主机的全称名(FQDN). 
;
;
2 C与F,定义类 
;命令C与F都是用来定义sendmail的类。所谓类,实际上就是由处理方式相同的多个变量组成的数组。与宏一样,类
;也
;使用单字符名字,大小写规则也一样。类可以定义在一行之中,也可以分多行定义,例如,下面的示范为内部类w
;赋
;值为系统的主机名,而系统可以有多个名字: 
;Cwmoon sun 
;Cwearth 
;Cwlocalhost 
;命令F是从文件中获取类的值,例如,可以把moon
,sun,earth保存在sendmail.cw之中,然后用F命令便可以实现同上
;述
;命令完全相同的结果: 
;Fw
/etc/sendmail.cw对类的引用与宏的引用完全一样,事实上宏就是一种类。两者的唯一区别在于,宏只能有一个唯
;一的值,而类可以有多个值,当然也可以只有一个值。 
;
;
3 O,设置选项 
;命令O是为sendmail的选项赋值,赋给选项的值可以是字符串、整数或布尔值,所有的选项值都是直接由sendmail来
;使
;用。需要注意的是,这里所说的选项与sendmail使用的命令行参数不一样。通常情况下,不需要修改这些选项。 
;


;
4 T,定义可信任的用户 
;命令T用来定义一组用户列表,这组用户可以使用sendmail带
-f参数来修改用户发出的邮件地址。一般情况下,包含
;root
,daemon和uucp。管理员最好不要随意添加其他的用户,否则这种权限在某些用户手中可能会对系统安全构成威
;胁。可信任的用户可以在一行或多行中定义,但是被定义的用户必须是
/etc/passwd中的合法用户。缺省是: 
;Troot 
;Tdaemon 
;Tuucp 
;
;
5 P,设置优先级 
;sendmail使用命令P定义不同的优先级来处理进入出局缓冲区的电子邮件。命令P定义的值越高,则优先级也越高,
;缺
;省的优先级为0。负优先级的电子邮件是不产生错误信息的,因此在批量发送邮件是应该定义较底的优先级。常用
;的
;优先级为: 
;Pfirst
-class=0 
;Pspecial
-delivery=100 
;Plist
=30 
;Pbulk
=-60 
;Pjunk
=-100 
;如果用户在发送邮件是需要指定优先级,则需要在邮件的首部中添加Precedence
,例如: 
;Precedence
:bulk 
;
;
6 K,Key File Declaration 
;特殊的映射可以定义成: 
;Kmapname mapclass arguments 
;mapname是可重写规则中使用这个映射的句柄,mapclass是映射类型的名字,arguments的解释依赖与映射类型,通
;常是包含映射的文件名。 
;
;
7 V,Configuration Version Level 
;提供与老版本配置文件的兼容性能。 
;
;
8 M,定义邮件传输程序 
;命令M定义邮件传输程序(mailer)的规格
/详细参数,其形式如下: 
;Mname
, {field=value} sendmail并不是直接发送各种各样的电子邮件,它首先将要发送的邮件分类,然后交给相应的
;mailer来发送,它本身只发送基于SMTP
/TCP/IP的邮件。其中[IPC]表示使用sendmail通过smtp来传送邮件。关于IPC 
;mailer
,在sendmail的文档里有一段有趣的特殊解释:当规则集0解析到IPC mailer时会处理一些特殊的过程。比如直接
;用IP地址发送邮件可以用[
128.32.149.78]的形式,若用[ucbvax.berkeley.edu]将会怎么样呢?它会被作为字符串传递
;,用这样的方法用户可以构造一个特殊的邮件地址,使自己的邮件按指定的路线发送,而通常用户是不关心也不知
;道自己的邮件的发送路线的。 
;
;
9 H,定义邮件的首部格式 
;命令H定义sendmail插进电子邮件首部的行的格式。 
;
;
10 R,定义重写规则 
;重写规则是sendmail配置文件的核心内容,每一重写规则由命令R定义,其形式如下: 
;Rpattern transformation comment 
;命令R中的字段由制表符进行分隔,系统处理时忽略注释字段(comment)
,模式字段(pattern) 
;与改写字段(transformation)为该命令的核心。 
;重写规则将输入地址与模式进行匹配,如果匹配,则将该地址用规则中改写字段的规则重写为新的格式。每一规则
;可以多次处理同一地址,这是因为地址在重写之后,仍要再次同该模式进行匹配,如果仍旧匹配则再次改写,直到
;不再匹配为止(使用
"$:"可以避免无限循环)。 
;在Linux中格式的表达应该是: 
;Rlhs rhs comment 
;lhs
--left hand side rhs--right hand side 
;
;
11 S,设置重写规则集 
;规则集是一组可以用数字来引用的相关重写规则。命令S是规则集的开始并赋予它一个数字以便由邮件传输程序来
;调
;用。规则集可以被看作用来处理电子邮件地址的子程序或函数。具有特殊功能并可由sendmail直接调用的规则集有5
;个 
;规则集3:为最大最复杂的规则集,也是用于地址的第一个规则集。它将地址转化为正规形式如:user@host
.domain
;。 
;规则集0:应用于传输邮件的地址。必须在规则集3之后使用,并仅用于实际邮件传输中接收者的地址。它可以将地
;址解析成(mailer
,host,user)的形式,由邮件传输者、接收方主机和接收用户的名字组成。 
;规则集1:应用于消息中所有发送者地址。 
;规则集2:应用于消息中所有接收者地址。 
;规则集4:应用于消息中所有地址并将内部地址格式转化为外部地址格式。 
;下图说明了消息和地址通过这些规则集的流程(原书有误): 
;
;
;
;
;
unixshell的语法文件可以去www.editplus.com
下载
Posted on 2006-03-14 13:40  古代  阅读(438)  评论(0)    收藏  举报