Sendmail第二章 获取Sendmail v82.获取sendmail v8 请采用sendmail v8以上版本,本教程将详解这个版本的sendmail。如果你已经使用了sendmail v8以上版本,你可以跳过本章。否则,你必须先获取然后再编译sendmail v8。在本章中我们将告诉你如何做。在此不打算讲解安装的所有方面。你所需要的仅是一个通用的可执行的sendmail二进制程序。 2.1取得源文件 sendmail v8的官方站点提供了一个匿名FTP站点: ftp://ftp.sendmail.org/ucb/sendmail/ 这里的分发版本有两个tar文件,一个以compress压缩,另一个以gzip压缩:
上面文件名中的“*”,一般是用于区分不同的版本,例如:8.x.y,x代表主版本号,y代表次版本号。从两个文件中选择一个文件下载,因为它们解压后实际是一样的。.gz文件相对来说更小,下载时更快。 当你取得了源代码包后,你还需要解开它。假定当前版本是8.8.4,你使用以下两个命令中的一个解开:
一旦解压成功,你会在当前目录下发现一个新的子目录。这个子目录的名字是上面文件名去掉.tar.Z或.tar.gz,例如:
在sendmail-8.8.4目录中包括sendmail的源程序和文档。进入这个子目录,你可以看到:
2.2阅读文档 阅读sendmail自带的文档。以下是重要的介绍文档: READ_ME 一个介绍如何编译的说明 RELEASE_NOTESsendmail发展的历史 FAQ 一个简要的常见问题说明 doc/op/op.ps 一个PostScript格式的操作手册 文件READ_ME包括一些关于所有版本都有的信息。它描述手册页的格式,说明哪个RFC是重要的,提示您在构建时将可能遇到的问题。 文件RELEASE_NOTES描述sendmail的历史和一些细小的细节。在这个文件中的第一部分列出关于sendmail过去的一些重要新闻。新的功能会在这个文件中展望,修复BUG的记录也会在此出现。 文件FAQ是新闻组comp.mail.sendmail的一份拷贝。许多人已经在你之前问了许许多多的问题。这个文档尝试预先解答一些您可能遇到的问题。 文件doc/op/op.ps是Eric Allman撰写的《SENDMAIL安装使用指南》。是最权威的有关sendmail的文档。它比较深奥,不太适合初学者学习,但值得熟练者研读。不同于以上文件,这个文档是PostScript格式的。 2.3 目录src中有什么 当我们讲述构建sendmail时,我们将参考src目录下的源程序目录。你在列目录时,你可以发现这个目录:
进入src目录,你可以看到以下内容:
所有以.0结束的文件都是预格式化的手册页。所有以.1、.5和.8结束的文件都是未格式化的。格式化它们的方法在当前目录的READ_ME中描述。 所有以.c和.h结束的文件都是实际的源代码。文件makesendmail是一个简单的构建Shell脚本程序,在READ_ME文件中包含了构建的信息。你可以阅读一下,特别注意《操作系统和快速编译》小节。 2.4 准备行动 现在你有了发行版,并进入了src目录,你可以发现一个叫做makesendmail的脚本。几乎所有的系统,你都必须使用这个脚本来构建sendmail。你可以加上-m参数执行一下这个脚本来确认你的系统是否支持。
这里,makesendmail指出在SunOS 4.1.4中构建sendmail要使用名为Makefile.SunOS的Makefile。如果它无法决定使用哪一个Makefile的话,将出现提示:
|