首页 | 邮件资讯 | 技术教程 | 解决方案 | 产品评测 | 邮件人才 | 邮件博客 | 邮件系统论坛 | 软件下载 | 邮件周刊 | 热点专题 | 工具
网络技术 | 操作系统 | 邮件系统 | 客户端 | 电子邮箱 | 反垃圾邮件 | 邮件安全 | 邮件营销 | 移动电邮 | 邮件软件下载 | 电子书下载

邮件服务器

技术前沿 | Qmail | IMail | MDaemon | Exchange | Domino | 其它 | Foxmail | James | Kerio | JavaMail | WinMail | Sendmail | Postfix | Winwebmail | Merak | CMailServer | 邮件与开发 | 金笛 |
首页 > 邮件服务器 > Sendmail > 18.7 sendmail的配置 > 正文

18.7 sendmail的配置

出处:人民邮电出版社 作者:[美]Evi 时间:2008-4-27 3:11:07

18.7  sendmail的配置

在8.12版之前,sendmail的操作是由/etc/mail/sendmail.cf这一个配置文件控制的(以前可以在/etc或者/usr/lib下找到它)。我们把它简称为配置文件。版本8.12引入了第二个配置文件,它叫做submit.cf(也在/etc/mail目录下)。启动sendmail所采用的标志决定了它将使用哪一个配置文件:如果有submit.cf文件,那么-bm、-bs和-bt就使用它,而其他所有模式都使用sendmail.cf文件。当然,还可以用命令行参数和配置文件选项改变配置文件的名字,但最好保持这两个名字不变。配置文件决定了sendmail的以下几个方面:

投递代理程序的选择;
地址重写的规则;
邮件信头的格式;
选项;
安全预防;
垃圾邮件抵抗力。

原始配置文件的格式是专为分析方便而设计的。这种着眼点导致它有点儿缺乏一种热情友好的形象。维护这个配置文件是和电子邮件有关的管理工作中最重要的,而且甚至难倒了一些有经验的系统管理员。

sendmail的每个版本都使用一个配置文件,但是现代的版本通过使用m4宏,让配置过程变得更容易了,因为它隐藏了大部分下层的复杂性。可以说原始的配置文件位于汇编语言的层次,而m4配置更像是处于Perl的层次 。

当第一次引入m4宏时,曾经希望它能处理80%~90%的情况。而实际上,覆盖的范围要高得多,可能接近98%。在本书中,我们只讨论基于m4的“简装版配置”。只有当您要调试棘手问题,或者以一种奇怪的方式扩展邮件站点时,才需要钻研底层的配置文件。

最关键的2份文档是:Eric Allman发表的论文Sendmail Installation and Operations Guide(位于sendmail软件发布的doc/op目录下),以及README文件(位于目录下)。我们经常把讲解安装的论文叫做“the installation guide(安装指南)”,而把README文件叫做cf/README。

18.7.1  使用m4预处理器

我们先描述m4的一些功能,然后演示如何从一个m4主控文件构建一个配置文件,最后描述sendmail发布所带的预装m4宏中比较重要的部分。

m4原打算用作程序设计语言的前端,让用户编写可读性更好(或者也许是更隐晦)的程序。但现在m4很强大,在许多输入转换的场合之下使用一点儿问题都没有,而且很适合处理sendmail的配置文件。

m4宏的形式是:

 name(arg1,  arg2,  ..., argn)

在name和左括号之间应该没有空格。作为参数的字符串要用左和右单引号引起来。m4采用的引号习惯不同于您可能用过的其他那些语言,因为左引号和右引号是不同的字符 。引号也可以嵌套。有了今天的编译器构建工具,句法严格而奇异的m4能生存下来真是个奇迹。

m4有一些内置宏,用户还可以定义他们自己的宏。表18.6列出了在sendmail的配置中最常见的内置宏。

表18.6 sendmail常用的m4宏

   

define

定义一个名为arg1,值为arg2的宏

undefine

丢弃一个以前定义的名为arg1的宏

include

包含(插入)名为arg1的文件

dnl

丢弃直到下一个换行为止的字符(包括那个换行符)

divert

管理输出流


一些站点在每一行的结尾添加一个dnl宏,以使转换后的.cf文件整齐。没有dnl,m4会给配置文件添加额外的空行。这些空行不影响sendmail的表现,但是它们使得配置文件很难读。在我们的例子中省略了dn1。其他站点在想用作注释行的开头处使用dnl。

m4实际上并不理会文件中的注释。像下面这样的注释:

 #  And  then  define  the  ...
不会完成您所期望的任务,因为define是一个m4关键字,它会被展开。请改用m4的dnl关键字(代表“delete to newline[删除至换行]”)。例如,
  dnl  #  And  then  define  the  ...
会起作用。必须在dnl和注释本身之间包含一个空格,好让它被当作是一条m4命令。

18.7.2  sendmail的配置片段

sendmail软件发布包括一个cf子目录,其中包含m4配置所必需的所有部分:一个README文件和表18.7中列出的几个子目录。

表18.7 配置子目录

   

   

cf

.mcmaster configuration,主控配置)文件的样本

domain

Berkeley的各种域上采用的m4文件样本

feature

实现各种功能的片段

hack

尚未定论的值或者实现的特殊功能

续表

   

   

m4

基本配置文件和其他核心文件

ostype

与操作系统有关的文件的位置和特殊之处

mailer

描述常见邮寄程序(mailer)(投递代理)的m4文件

sh

m4所用的shell脚本

cf/cf目录包含.mc文件的例子。实际上,它包含的例子多到了会把您给搞糊涂的地步。我们建议您把cf目录改为cf.examples,并为自己的本地.mc文件创建一个新的cf目录。如果您这样做了,请把Makefile和Build脚本复制到新的目录下,以便README文件中的指导仍然有效。最好把所有的.mc配置文件也复制到一个集中的位置,而不是把它们留在sendmail软件发布中。如果您试图从一个.mc文件建立.cf文件,而且不在软件发布的层次结构中,那么将不得不对Build脚本的相对路径名做些修改。

18.7.3  从.mc样板文件构建配置文件

在深入有关各种配置宏、功能和选项的长篇累牍的详细资料之前,我们将前后颠倒,创建一个“不加修饰”的配置来举例说明这一过程。我们的例子用于一个叶节点foo.com,而主配置文件名为foo.mc。

我们将把foo.mc放在我们新建的cf目录下。(通过m4)转换后的配置文件将是同一目录下的foo.cf,最后将把它作为sendmail.cf安装在/etc或者/etc/mail下。/etc/mail是sendmail配置文件的标准位置,但是有许多发行版本用了/etc。
有些样板文件应该每个新的.mc文件中都加:

   

如果希望在文件的开头加上注释,第一行必须是一个divert语句,它将丢弃m4输出流中所有似是而非的无用信息,而且不需要dnl就可以有#风格的注释。接下来是注释,然后是另一个divert。

用VERSIONID行(在这里是RCS格式)结束这个样板文件。这在下一个小节中有详细说明。
在许多情况下,指定一个OSTYPE(参见18.8.2节),引进与操作系统相关的路径或参数,再指定一组MAILER(参见18.8.4节),配置就完成了。

 

在这里,我们还设置了一个选项(confCOPY_ERRORS_TO),它会把任何被弹回邮件的信头副本发送给本地postmaster。当本地站点出现问题时,这项声明就能让postmaster介入。

要构建真正的配置文件,只需复制到新cf目录下的Build命令即可。

# ./Build  foo.cf
或者
# make  foo.cf

最后,把foo.cf安装到适当的位置—通常在/etc/mail/sendmail.cf,但是Red Hat和SUSE都把它藏到了/etc/sendmail.cf。

较大的站点可以创建一个单独的m4文件,把站点范围的默认值存放在cf/domain目录中,这样单个主机可以包括这个文件的内容。不是每台主机都需要一个单独的配置文件,但是每组相似的主机(相同的体系结构和相同的角色:服务器、客户机等)可能需要其自己的配置。

18.7.4  改变sendmail的配置

您经常会发现自己现有的sendmail配置几乎全部都对,但您只想尝试一下一项新的功能,加入一条新的垃圾邮件规则,或者做一次简单的改动。要做到这一点,您就要:

编辑.mc文件,输入您的改动;
用配置目录下的Build脚本重新构建配置文件;
把得到的cf文件安装为正确目录下的sendmail.cf;
向sendmail发送一个HUP信号,让它重新读取配置文件 。

哪怕采用的是sendmail很容易的最新配置系统,您仍然必须针对您的站点做出几项配置决定。在您阅读下面介绍的功能的同时,考虑一下怎样才能把它们融入您的站点结构中。小规模的站点或许只需要一个枢纽结点和几个叶子结点,因而只需要两个配置文件的版本。较大规模的站点可能需要几个用于传入和传出邮件的邮件枢纽主机,或许还有一台单独的POP/IMAP服务器。

无论您的站点有多复杂,也无论它要面对怎样的外部世界(例如,完全暴露在外、在防火墙之后、或者在一个VPN上),很可能cf目录已经包含了一些现成的合适配置片段,正等着对它进行定制,然后投入工作呢。

相关文章 热门文章
  • sendmail中.forward文件的注意事项
  • Linux启动 Sendmail速度慢的解决办法
  • RHEL5.2 sendmail和openwebmail 、dpvecpt 配置总结
  • Linux启动sendmail速度慢的解决办法
  • 为Sendmail添加邮件认证功能
  • FYI:商用Sendmail的安全和隔离要点
  • 在Perl和Sendmail的附件做过滤系统
  • sendmail做smtp SERVER
  • Sendmail Analyzer 5.3 发布
  • 如何限制Sendmail下邮件的大小
  • Fedora架设Sendmail邮件服务器
  • 架设RHEL4系统Sendmail邮件服务器
  • Sendmail8.12.9+RedHat 8.0建构邮件服务器
  • sendmail大全
  • Sendmail邮件服务器快速指南
  • SendMail上手指南
  • 用Sendmail配置你的第一台e-mail服务器
  • RedHatLinux AS3中SendMail的配置
  • 企业Sendmail邮件服务器的创建
  • Sendmail环境下对抗垃圾邮件的处理方法
  • Sendmail的邮件用户与系统用户分离
  • 我的qmail安装历程
  • 带SMTP认证功能的sendmail配置
  • Sendmail的relay用法汇总
  • 自由广告区
     
    最新软件下载
  • SharePoint Server 2010 部署文档
  • Exchange 2010 RTM升级至SP1 教程
  • Exchange 2010 OWA下RBAC实现的组功能...
  • Lync Server 2010 Standard Edition 标..
  • Lync Server 2010 Enterprise Edition...
  • Forefront Endpoint Protection 2010 ...
  • Lync Server 2010 Edge 服务器部署文档
  • 《Exchange 2003专家指南》
  • Mastering Hyper-V Deployment
  • Windows Server 2008 R2 Hyper-V
  • Microsoft Lync Server 2010 Unleashed
  • Windows Server 2008 R2 Unleashed
  • 今日邮件技术文章
  • 腾讯,在创新中演绎互联网“进化论”
  • 华科人 张小龙 (中国第二代程序员 QQ...
  • 微软推出新功能 提高Hotmail密码安全性
  • 快压技巧分享:秒传邮件超大附件
  • 不容忽视的邮件营销数据分析过程中的算..
  • 国内手机邮箱的现状与未来发展——访尚..
  • 易观数据:2011Q2中国手机邮箱市场收入..
  • 穿越时空的爱恋 QQ邮箱音视频及贺卡邮件
  • Hotmail新功能:“我的朋友可能被黑了”
  • 入侵邻居网络发骚扰邮件 美国男子被重..
  • 网易邮箱莫子睿:《非你莫属》招聘多过..
  • 中国电信推广189邮箱绿色账单
  • 最新专题
  • 鸟哥的Linux私房菜之Mail服务器
  • Exchange Server 2010技术专题
  • Windows 7 技术专题
  • Sendmail 邮件系统配置
  • 组建Exchange 2003邮件系统
  • Windows Server 2008 专题
  • ORF 反垃圾邮件系统
  • Exchange Server 2007 专题
  • ISA Server 2006 教程专题
  • Windows Vista 技术专题
  • “黑莓”(BlackBerry)专题
  • Apache James 专题
  • 分类导航
    邮件新闻资讯:
    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营销 | 网络营销 | 营销技巧 |营销案例
    邮件人才:招聘 | 职场 | 培训 | 指南 | 职场
    解决方案:
    邮件系统|反垃圾邮件 |安全 |移动电邮 |招标
    产品评测:
    邮件系统 |反垃圾邮件 |邮箱 |安全 |客户端
    广告联系 | 合作联系 | 关于我们 | 联系我们 | 繁體中文
    版权所有:邮件技术资讯网©2003-2010 www.5dmail.net, All Rights Reserved
    www.5Dmail.net Web Team   粤ICP备05009143号