当前位置: 首页 > 图文教程 > 服务器 > Linux服务器 > SENDMAIL邮件服务器的安装与设置

Linux服务器
linux下用cron定时执行任务的方法
.htaccess绑定域名到子目录的方法
linux apache下虚拟主机配置方法
apache 局域网访问配置方案
linux Apache服务器系统安全设置与优化
linux中mac地址绑定方法
linux托盘不断闪烁之解决方法
Apache配置 虚拟转向实例
Apache No space left on device的解决办法
Apache rewrite的重写相关的参数说明
LINUX入门级常用命令20条整理
Ubuntu设置开机自动挂载所有格式硬盘分区
5个可能被你忽略的Linux安全设置方法
学习Apache的mod rewrite、access写法
改版时保留原链接,创建新的URL的方法
rsync中文手册之使用rsync实现网站镜像和备份linux
rsync 数据同步使用详解
linux URL的301重定向代码分析
eclipse3.2.2 + MyEclipse5.5 + Tomcat5.5.27 配置数据库连接池
Apache服务器二级域名的完美实现

Linux服务器 中的 SENDMAIL邮件服务器的安装与设置


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-18   浏览: 62 ::
收藏到网摘: n/a

Sendmail对一般的系统管理者而言,往往是个不敢手的「禁区」,因为绝大多数系统的使用者对E-Mail的需求与依赖的程度之高,可说是稍有分毫差错,系统管理者就要准备接受如雪片般飞来的抗议与抱怨!而Sendmail这个东东的「内函」,似乎又有点不太容易理解:与设定有关的sendmail.cf档,如果不是下过一番死功夫,则读起来如同读天书一样,只知道里面有英文字与数字!所以一般人总是能不动则不动,只要能用就好。不过,很不幸的,一般跟著机器而来的sendmail总是有著令人心惊胆跳的「附加功能」,就是常常都有一些可以让无聊人士作为侵入路径的BUG或後门,某些BUG还可以让侵入者经由Sendmail而取得最高权限的root!一旦root权限被人拿走了,那麽这机器就可被人任意屠宰,最恶劣的,还可能破坏系统!

Sun在国内的使用人口相当的多,笔者对Sun也稍微比较熟悉一点。不过,Sun的Sendmail却是令人颇不敢恭维的,几乎可以说:只要还在使用Sun的Sendmail而没有「常常」patch的话,那甚麽系统安全都不必谈了,谈了也是白谈;如果还在使用Sun的Sendmail,那就如果系统抱著一颗不定时炸弹,随时一个不注意,都可能引爆:(。这一点,大家可以翻一翻CERT或8lgm看一看,几乎是只要有sendmail的问题,Sun大多跑了....。其他系统的Sendmail也不要偷笑,虽然大家的出场率没有Sun高,可是也常会问题的。另一方面,Sendmail8.6.9与之前的版本最近刚发现有个ident方面的Bug。如果方便的话,请大家务必换成最新版。如果不方便的
话,在v8.6.5之後的版本有个克难式的补救法,即在sendmail.cf加入这麽一行:

Orident=0

表示不作ident的检查。
v8.6.5之前的版本就一定要换成最新版。

本软体在系统安全方面,是目前评价最高的,目前已知的BUG都已经改好了,最主要的原因,当然是要感谢作者EricAllman,他(或他们)能作到一发现重大的Bug(如系统安装)就立刻出新版。本软体是一publicdomain,可以在网路上各ftpserver上找到其sourcecode。由於该软体的发展者把一些必要的设定步骤自动化了,所以,其实安装这个软体并不是想像中那麽样的困难。如果连compile的时间也算下去,顺利的话,不用半个小时就可以安装完毕!

3.1下载Sendmail最新版本

最新版本的Sendmail可以从ftp://ftp.sendmail.org/pub/sendmail/得到!
如sendmail.8.9.3.tar.gz这是截止到文章发布的最新版本,size:1068290byte

有关最新版本的发布,请浏览Sendmail的主页http://www.sendmail.org

3.2安装Sendmail

用root登陆或su成root后,先把tar.gz的包解开tarfvxzsendmail.8.9.3.tar.gz,用make-f开始编译

编译完成后系统会产生系统设定文件,也就是sendmail.cf(一般这个文件都存放在/etc下)

接下来,这按几步继续安装:(注:~/sendmail为解开后的sendmail目录)

1.请切换至设定档目录~/sendmail/cf/cf之下。找一个合适自己系统的XXXX.mc档。笔者一般上是使用tcpproto.mc

这一个不用uucp的档。如果是用tcpproto.mc这个档,笔者在solaris2.3试了,得记得在档中要加上一行:

OSTYPE(solaris2)

Sun4.1.3不必,其他系统就不晓得了。在目录~/sendmail/cf/ostype下有几个OSTYPE()可以的档,

只有这个目录有资料的才可能能够OSTYPE()。还有,如果是systemV的/bin/mail,似乎就得要加OSTYPE()。

一句老话,详情请看DOCUMENT:~/sendmail/cf/README。这希望有经验的朋友能够补充:)

如果不小心忘了加上OSTYPE()会怎样?也不会怎样,只会有"unknowmailererror"的错误,然後信收不到。

有一点要提醒大家的,就是:在~/sendmail/cf/cf所看到的各种系统的.mc档,都是Sendmail8.6.x的作者

EricAllman「演示」给大家看的,所以,可以看到档名都有个"cs",要是没有修改就用这些档的话,那一定会发生错误的。而要修改,有相当多地方要改,所以,如笔者一般懒的人,用tcpproto.mc还是比较简单又不会出错:)