18.8 sendmail基本配置原语
sendmail配置命令是区分大小写的。根据习惯,预定义宏的名称全部是大写(例如OSTYPE),m4命令全部是小写(例如define),可配置的变量名用小写的conf打头,以全部大写的变量名结尾(例如confCOPY_ERRORS_TO)。宏通常指向一个叫做../macroname/arg1.m4的文件。例如,宏OSTYPE(‘linux')使得../ostype/linux.m4被包括进来。
在本节中我们只涉及基本的配置命令,把高级命令留到后面讨论。
18.8.1 VERSIONID宏
您应该用CVS或者RCS维护配置文件,这不仅是为了能在必要时返回到早先的配置版本,也是为了能够标出构成配置文件的m4文件的版本。请使用VERSIONID宏来自动嵌入版本信息。句法是:
VERSIONID(‘$Id$') |
18.8.2 OSTYPE宏
ostype目录下的文件用其包含的默认值所针对的操作系统来命名。一个OSTYPE文件封装了各种特定于厂商的信息,比如与邮件相关的文件的期望位置、sendmail所需命令的位置、邮寄程序的标志等。
根据约定,特定于操作系统的信息由OSTYPE宏插入配置文件 。每个配置文件在靠近开头的地方都必须包括一个OSTYPE宏,一般是紧跟在VERSIONID之后。
OSTYPE文件主要是通过定义其他m4变量来完成工作。例如:
define(‘ALIAS_FILE', ‘/etc/aliases') |
指定系统范围的别名文件的位置。如果愿意的话,您可以稍后在.mc文件中覆盖OS的默认值,但是请不要修改软件发布中自带的OSTYPE文件,除非它真的错了,此时还应该提交一份错误报告给sendmail-bugs@sendmail.org。有些网点想让别名文件跨平台保持一致的位置,于是在他们的DOMAIN文件中重新定义了它的位置。
cf目录中的README文件列出了在OSTYPE文件能够定义的所有变量。表18.8一方面举出了一些重要的变量,另外还有几个您可能想用来配置减少垃圾邮件的变量(但是默认没有定义)。默认值是您的OSTYPE文件没有指定其他值的时候您所得到的值。
表18.8 在OSTYPE文件中设置的一些变量的默认值
变 量 | 默 认 值 | 变 量 | 默 认 值 |
ALIAS_FILE | /etc/mail/aliases | LOCAL_SHELL_PATH | /bin/sh |
HELP_FILE | /etc/mail/helpfile | LOCAL_MAILER_MAX | 未定义 |
STATUS_FILE | /etc/mail/statistics | LOCAL_MAILER_MAXMSGS | 未定义 |
QUEUE_DIR | /var/spool/mqueue | SMTP_MAILER_MAX | 未定义 |
MSP_QUEUE_DIR | /var/spool/clientmqueue | SMTP_MAILER_MAXMSGS | 未定义 |
LOCAL_MAILER_PATH | /bin/mail |
如果在一个新的OS版本或体系结构上安装sendmail,一定要创建一个相应的OSTYPE文件并把它提供给sendmail.org,以便可以在sendmail的下一个版本中把它包括进来。只要以那些已存在的文件为模型建立新文件,然后对照cf/README文件中默认值的表检查它即可。如果新系统中某个变量的值与默认值相同,就不需要再为它包含一项(但是万一默认值有变化,这样做对保护您自己也没坏处)。
表18.9显示了我们举例的平台所用的OSTYPE文件。
表18.9 Linux系统的OSTYPE文件
系 统 | 文 件 | 目 录 | 用 法 |
Red Hat | linux.m4 | /usr/share/sendmail-cf | OSTYPE(‘linux') |
Fedora | linux.m4 | /usr/share/sendmail-cf | OSTYPE(‘linux') |
SUSE | suse-linux.m4 | /usr/share/sendmail | OSTYPE(‘suse-linux') |
Debian | debian.m4 | /usr/share/sendmail/sendmail.cf | OSTYPE(‘debian') |
Ubunutu | linux.m4 | /usr/share/sendmail | OSTYPE(‘linux') |
SUSE把sendmail的软件发布放在/usr/shsare/sendmail里。OSTYPE文件suse-linux.m4就在那里的ostype目录下,它不是sendmail.org发布的sendmail软件包的一部分。那个文件很长(超过80行),包含了各种FEATURE,以及其他一些宏,它们通常可以在一个站点的主控配置文件(.mc文件)而不是OSTYPE文件里找到。这种做法把真实的配置向系统管理员藏了起来—或许混起来有好处,但我们建议在实际中不要这样做。 |
Debian把配置文件藏在了/usr/share/sendmail/sendmail.cf/下。sendmail.cf目录(Debian的人选的这个名字太容易让人搞混了)对应于sendmail软件发布中的cf目录,它包含您需要的所有文件,包括一个针对于Debian的OSTYPE文件ostype/debian.m4。这个OSTYPE文件有50行长,大多由路径名和注释所组成,它也应该是那样。许多内容和sendmail.org的当前默认内容是一样,所以不需要再明确地说明一遍。不过,重新说明一遍有助于防止Debian出现因为默认值的变化而造成的不一致性或者错误。只有Debian和sendmail的OSTYPE部分中不一样的内容包括在sendmail软件发布所带的一般DOMAIN文件里。在实际的.mc文件中,DOMAIN语句应该在前面出现,而不是隐藏在OSTYPE文件里。 |
18.8.3 DOMAIN宏
DOMAIN指令允许在一个地方(cf/domain/filename.m4)指定全站的一般信息,然后在每台主机的单个配置文件中这样引用它:
DOMAIN(‘filename') |
DOMAIN(‘cs') |
和OSTYPE一样,DOMAIN其实只是一种包含的好方法。但它使得配置文件的结构更为清晰,并为将来的变化埋下了一个伏笔。它最大的用处是从保存在一个地方的.mc文件集中并构建网点的所有.cf文件。
小网点通常不需要DOMAIN文件,但是大些的网点常常用它们引用中转机器、站点级的伪装或保密选项,以及邮寄程序、虚拟域和垃圾邮件数据库的表。
软件发布所带的一般DOMAIN文件给出了通常放在全站范围DOMAIN文件中的那些类型的项。它的内容(删除了注释和dnl)如下所示:
这个文件设置了用户转发文件的路径,限制了信头的长度 ,包括进来用于已经离开单位的用户的重定向功能,以及打开了use_cw_file功能,以处理等价的主机名。如果您的.mc文件包括masquerading(伪装功能),那么root用户就不能被伪装。本章后面的内容将会详细介绍这些结构里的每一种。
18.8.4 MAILER宏
您想要启用的每个投递代理都必须包括一个MAILER宏。在sendmail软件发布的cf/mailers目录下,可以找到一个被支持的邮寄程序的完整列表。当前,可选用的邮寄程序有local、smtp、fax、usenet、procmail、qpage、cyrus、pop、phquery和uucp。一般说来,您至少需要:
MAILER(‘local') |
第一行包括local和prog邮寄程序。第二行包括smtp、esmtp、dsmtp、smtp8和relay。从8.7版 的sendmail开始,local中加入了对user+details@site.domain这样的电子邮件地址的支持。user定义了消息应该投递到的邮箱,而details提供了一个额外的参数,像procmail这样的本地邮件程序就能用这个参数来对传入的邮件进行分类。
如果您打算调整任何与邮寄程序相关的宏(比如USENET_MAILER_ARGS或FAX_MAILER_PATH),要确保设置这些参数的配置行都位于调用该邮寄程序本身的行之前,否则只会使用旧的值。因此,通常把MAILER声明放在配置文件的结尾。
邮寄程序pop衔接spop程序,后者是mh邮件处理程序软件包的一部分,它实现了RFC1460中定义的POP协议(Post Office Protocol,邮局协议)。需要访问UNIX主机上的邮件的PC和Mac机器要用到它。邮寄程序cyrus用来配合CMU的IMAP服务程序使用,它有两种类型:cyrus用于把邮件投递到用户的邮箱,cyrusbb用于把邮件投递到一个中央布告栏。邮寄程序cyrus也能理解user+details式的句法,它的MAILER说明必须出现在local邮寄程序的说明之后。
邮寄程序fax把Sam Leffler的HylaFAX软件包集成到了邮件系统中。SUSE包含的这个邮寄程序是/usr/bin/faxmail;Red Hat和Debian默认不带HylaFAX。向user@destination.fax发送邮件会把消息主体当作一个传真文档进行发送。destination一般是一个电话号码。为了能将符号名(而不只是电话号码)作为destination,要使用一个由关键字索引的数据库文件。从www.hylafax.org可以得到HylaFAX。
您必须在/usr/local/bin中安装HylaFAX软件发布中的一个脚本,才能把HylaFAX和sendmail关联到一起。您还可能修改宏FAX_MAILER_PATH的值。要把传入的传真从缓冲区投递到用户的邮箱,仍然需要人工介入。您可以把传真文档转换为PostScript文件(用HylaFAX),并用GNU软件包ghostscript来查看它们。从www.gnu.org可以获得ghostscript。
邮寄程序qpage衔接QuickPage软件,把电子邮件投递到您的呼机。有关QuickPage的更多信息请参见www.qpage.org。
上述的宏VERSIONID、OSTYPE、DOMAIN和MAILER都是建立一个基本的hostname.mc文件所需要的。
自由广告区 |
分类导航 |
邮件新闻资讯: IT业界 | 邮件服务器 | 邮件趣闻 | 移动电邮 电子邮箱 | 反垃圾邮件|邮件客户端|网络安全 行业数据 | 邮件人物 | 网站公告 | 行业法规 网络技术: 邮件原理 | 网络协议 | 网络管理 | 传输介质 线路接入 | 路由接口 | 邮件存储 | 华为3Com CISCO技术 | 网络与服务器硬件 操作系统: Windows 9X | Linux&Uinx | Windows NT Windows Vista | FreeBSD | 其它操作系统 邮件服务器: 程序与开发 | Exchange | Qmail | Postfix Sendmail | MDaemon | Domino | Foxmail KerioMail | JavaMail | Winwebmail |James Merak&VisNetic | CMailServer | WinMail 金笛邮件系统 | 其它 | 反垃圾邮件: 综述| 客户端反垃圾邮件|服务器端反垃圾邮件 邮件客户端软件: Outlook | Foxmail | DreamMail| KooMail The bat | 雷鸟 | Eudora |Becky! |Pegasus IncrediMail |其它 电子邮箱: 个人邮箱 | 企业邮箱 |Gmail 移动电子邮件:服务器 | 客户端 | 技术前沿 邮件网络安全: 软件漏洞 | 安全知识 | 病毒公告 |防火墙 攻防技术 | 病毒查杀| ISA | 数字签名 邮件营销: Email营销 | 网络营销 | 营销技巧 |营销案例 邮件人才:招聘 | 职场 | 培训 | 指南 | 职场 解决方案: 邮件系统|反垃圾邮件 |安全 |移动电邮 |招标 产品评测: 邮件系统 |反垃圾邮件 |邮箱 |安全 |客户端 |