divert (—1)dnl Each dn1 is a comment: Delete —charactors —to —New line,下面我们就来说一说关于宏程序mod的用法?我们一起去了解并探讨一下这个问题吧!
宏程序mod的用法
1.所有sendmail.mc宏配置文件将定义操作系统类型、文件位置、希望的功能和邮件发送工具及用户列表2.通过以下步骤在sendmail.mc中定义标题divert (—1)
dnl Each dn1 is a comment: Delete —charactors —to —New line
dnl Pull in definitions from distribution inclnde (‘/usr/share/send mail —cf /m4/cf.m4’)VERSIONID Linux setup for
dnl Pull in operating systen pre —defines
OSTYPE (‘linux’)
dnl tell send mail to ran as UID 8 (mail)
GID 12 (mail)
Define (‘lonfDEF —USER ID’,“8:12”)dnl
dnl disable UUCP relaying also on by defamt undefined (‘BITNET —RECAY’)dnl
dnl Define a 1 minute time for smtp conneltions
define (‘confTRY —NULL —MX —LST’,true)dnl
dnl Do not accept email bound for you directly; valid hosts
dnl showld only go in mailer table
define (‘conf DON’T —RROBE —INTERFACES’,rtue)dnl
dnl Define the locution of the proc mail
define (‘AUAS —FICE’,‘/etc/aliases ’)dnl
dnl place some securiby rostr’c tions
define (‘confPRIVACY —ICAGS’,‘autnwornings,norrfy ,no expn,r ’)
3.通用的m4宏命令表5.1 通用的m4宏命令
命令 |
用途 |
divert(-1) |
用于一段长篇注释的开始。 |
dnl |
在行开头出现表示注释;在define后通常会自动产生空格,可以用dnl来删除。 |
include |
包含一个文件 |
define |
定义配置变量 |
undefined |
取消配置变量的定义 |
DOMAIN |
一般用来定义邮件中断 |
OSTYPE |
定义操作系统的类型 |
FEATURE |
标识sendmail的功能特性 |
MAILER |
定义所有必要的邮件者 |
VERSIOND |
定义版本控制信息 |
以dnl开头的为注释行,已经去掉。
divert(-1)dnl
用于一段长篇注释的开始
include(`/usr/share/sendmail-cf/m4/cf.m4')dnl
将文件usr/share/sendmail-cf/m4/cf.m4包含进来
VERSIONID(`setup for Red Hat Linux')dnl
定义版本控制信息
OSTYPE(`linux')dnl
选择包含操作系统指定属性的文件
define(`confDEF_USER_ID',``8:12'')dnl
指定用户sendmail使用的用户ID为8,组ID为12
define(`confTO_CONNECT', `1m')dnl
设置等待连接的最大时间为1分钟
define(`confTRY_NULL_MX_LIST',true)dnl
若MX记录指向本机,则sendmail直接连接到远程主机
define(`confDONT_PROBE_INTERFACES',true)dnl
sendmail不会自动将服务器的网络接口视为有效地址
define(`PROCMAIL_MAILER_PATH',`/usr/bin/procmail')dnl
设置procmail的存放路径
define(`ALIAS_FILE', `/etc/aliases')dnl
设置邮件别名文件的存放路径
define(`UUCP_MAILER_MAX', `2000000')dnl
设置基于UUCP协议的Mailer处理信息的最大限制为2M字节
define(`confUSERDB_SPEC', `/etc/mail/userdb.db')dnl
设置用户数据库文件路径
define(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun')dnl
设置限制某些邮件命令的标志
define(`confAUTH_OPTIONS', `A')dnl
仅在授权成功时,将AUTH参数加到邮件的消息头中
define(`confTO_IDENT', `0')dnl
设置ident查询响应的最大等待时间为0,即不等待
FEATURE(`no_default_msa',`dnl')dnl
允许MSA被DAMEMON_OPTION覆盖的默认配置
FEATURE(`smrsh',`/usr/sbin/smrsh')dnl
设置邮件发送器smrsh的存放路径
FEATURE(`mailertable',`hash -o /etc/mail/mailertable.db')dnl
设置邮件发送器数据库的存放路径
FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable.db')dnl
设置虚拟邮件域数据库的存放路径
FEATURE(redirect)dnl
支持.redirect虚拟域
FEATURE(always_add_domain)dnl
增加主机名到所有本地发送的邮件
FEATURE(use_cw_file)dnl
装载/etc/mail/local-host-names文件中定义的主机名
FEATURE(use_ct_file)dnl
装载可信任的用户名单
FEATURE(local_procmail,`',`procmail -t -Y -a $h -d $u')dnl
使用procmail作为本地邮件发送者
FEATURE(`access_db',`hash -T<TMPF> -o /etc/mail/access.db')dnl
从/etc/mail/access.db装载可以中继地域
FEATURE(`blacklist_recipients')dnl
根据访问数据库的值过滤外来邮件
EXPOSED_USER(`root')dnl
禁止伪装发送者地址中出现root用户
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
指定sendmail作为MTA运行时的参数
FEATURE(`accept_unresolvable_domains')dnl
设置可以接收不能由DNS解析的主机所发送的邮件
LOCAL_DOMAIN(`localhost.localdomain')dnl
设置本地域
MAILER(smtp)dnl
指定sendmail所有SMTP发送者,包括smtp、esmtp、smtp8和relay
MAILER(procmail)dnl
指定使用procmail作为本地邮件发送者
,