divert (—1)dnl Each dn1 is a comment: Delete —charactors —to —New line,下面我们就来说一说关于宏程序mod的用法?我们一起去了解并探讨一下这个问题吧!

宏程序mod的用法(5.11Sendmailm4宏文件介绍)

宏程序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

定义版本控制信息

5.12 Sendmail m4宏文件功能特点1./etc/mail/sendmail.mc宏配置文件的默认内容

以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作为本地邮件发送者

,