SENDMAIL邮件服务器安装与设置详解

  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 高,可是也常会问题的。 另一方面,Sendmail 8.6.9与之前的版本最近刚发现有个ident方面的Bug 。如果方便的话,请大家务必换成最新版。如果不方便的
  话,在v8.6.5之後的版本有个克难式的补救法,即在sendmail.cf 加入这麽一行:

  Orident=0

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

  本软体在系统安全方面,是目前评价最高的,目前已知的BUG都已经改好了,最主要的原因,当然是要感谢作者Eric Allman ,他(或他们)能作到一发现重大的Bug (如系统安装)就立刻出新版。本软体是一public domain ,可以在网路上各ftp server上找到其source code。由於该软体的发展者把一些必要的设定步骤自动化了,所以,其实安装这个软体并不是想像中那麽样的困难。如果连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的包解开tar fvxz sendmail.8.9.3.tar.gz,用make -f 开始编译

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

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

  1.请切换至设定档目录~/sendmail/cf/cf 之下。找一个合适自己系统的XXXX.mc档。笔者一般上是使用tcpproto.mc
  这一个不用uucp的档。如果是用tcpproto.mc 这个档,笔者在solaris 2.3 试了,得记得在档中要加上一行:
  OSTYPE(solaris2)
  Sun 4.1.3 不必,其他系统就不晓得了。在目录 ~/sendmail/cf/ostype下有几个OSTYPE()可以的 档,
  只有这个目录有资料的才可能能够OSTYPE()。还有, 如果是 system V的/bin/mail,似乎就得要加OSTYPE()。
  一句老话,详情请看DOCUMENT:~/sendmail/cf/README。这希望有经验的朋友能够补充:)
  如果不小心忘了加上OSTYPE()会怎样?也不会怎样,只会有"unknow mailer error" 的错误,然後信收不到。
  有一点要提醒大家的,就是:在~/sendmail/cf/cf 所看到的各种系统的.mc 档,都是Sendmail 8.6.x的作者
  Eric Allman 「演示」给大家看的,所以,可以看到档名都有个"cs",要是没有修改就用这些档的话,那一定会发
  生错误的。而要修改,有相当多地方要改,所以,如笔者一般懒的人,用tcpproto.mc 还是比较简单又不会出错:)

  2.好,选定了某一个合意的.mc 档,那接下来可执行m4产生.cf 档。请下指令:
  # m4 XXX.mc > YYY.cf 如果是sun 4.1.3 ,可能系统会抱怨m4的版本太旧了。那请试一试用:
  # /usr/5bin/m4 XXX.mc >YYY.cf
  要是还是不行,那就请去抓新版的m4回来compile (可以在 http://www.gnu.org 找到gnu 的m4)。

  这个步骤是要把compile好的files, install 到系统上去了。

  罗嗦的我还是得再一次提醒您看看:把旧档案备份好了吗?

  好,假设compile 的结果非常没挑战性的没有任何错误,产生.cf 档过程也没有甚麽值得注意的讯息。所产生的.cf 档 也改好了。而且最重要的:作好旧档的备份(不是我要吓人,这是以防万一)。

  1.挑个老板没有在用mail的时间,快手快脚的切换至目录~/sendmail/src ,下指令:
  # make -f Makefile.XXX install
  系统会把compile出来的~/sendmail/src/sendmail与man document拷贝到它们该有的目录(所以你还如果没有备份/usr/lib/sendmail ,那赶快祈祷待回不要出问题,要不然就赶快准备泪水哭吧!
  因为旧的会被compile 出来的sendmail覆盖)

  2.切换至目录~/sendmail/cf/cf ,把产生出来的YYY.cf档拷贝到本系统sendmail.cf 应该在的地方,
  如:/etc或 /etc/mail 。

  3.把旧sendmail daemon 的process 杀掉。(这应该不用我罗嗦吧!用ps -ax |grep sendmail |grep -v grep 找出旧daemon的process(或head -1 /etc/sendmail.pid 或 head -1 /etc/mail/sendmail.pid),
  然后用 kill -9 processID干掉它(或直接用 kill -9 `head -1 /etc/sendmail.pid`)。

  4.启动新daemon。例如下指令:
  /usr/lib/sendmail -bd -q30m
  当然,保守一点,看旧的daemon怎麽跑,照旧的来下参数应该是没有问题。

  这时,初步安装就已经完成了,接下来请看设置sendmail

时间: 2024-10-29 21:36:45

SENDMAIL邮件服务器安装与设置详解的相关文章

sendmail邮件服务器配置的图文详解

案例要求:两台客户机之间能够通过outlook互相发邮件 配置要点: a. 利用linux搭建好dns服务器,配置好反向dns,正向dns而且要设置转发功能 b. 分别配置两台电子邮件服务器,以163和sina为例 c. 案例拓扑图如下: 具体步骤如下: 一.配置服务器A 1. 配置dns功能 [root@localhost ~]# mount /dev/cdrom /mnt/cdrom [root@localhost ~]#cd /mnt/cdrom/Server [root@localhos

UITabBar设置详解

UITabBar设置详解   效果图   说明 1. 设置tabBarItem中的图片以及标题 2. 设置标题文本样式 3. 修改tabBar背景色   源码 https://github.com/YouXianMing/UITabBarControllerIcon   细节 设置标题文本样式 修改tabBar背景色 真实图片呈现  

MySQL 中修改密码及访问限制设置详解

mysql|访问|详解 MySQL中修改密码及访问限制设置详解 MySQL是一个真正的多用户.多线程SQL数据库服务器.MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成.由于其源码的开放性及稳定性,且与网站流行编?挥镅?PHP的完美结合,现在很多站点都利用其当作后端数据库,使其获得了广泛应用.处于安全方面的考虑,需要为每一用户赋于对不同数据库的访问限制,以满足不同用户的要求.下面就分别讨论,供大家参考. 一.MySQL修改密码方法总结 首

host文件设置详解

  host文件设置详解 有很多朋友不清楚Host文件是什么东西?其实hosts文件是用来记录主机ip地址和主机名的对应关系,建立后就可以用主机名来访问主机,而不必记ip地址了.(HOSTS就是本地的一个简易 DNS,它优先于DNS服务器的查询;呵呵,我就是这么认为的.) winxp.win2k系统中存放在windows系统目录中的system32driversetc下面,win98在windows系统目录中下面.(windows系统目录一般就是c:windows). hosts文件是一个纯文本

CenterOS 中安装Redis及开机启动设置详解_Linux

CenterOS 中安装Redis及开机启动设置详解 从官方下载最新Redis进行安装,官网地址:http://redis.io/download $ wget http://download.redis.io/releases/redis-3.2.3.tar.gz $ tar xzf redis-3.2.3.tar.gz $ cd redis-3.2.3 $ make $ make install Redis启动 RedisServer /path/to/redis.conf Redis关闭(

MySQL中修改密码及访问限制设置详解

mysql|访问|详解 MySQL是一个真正的多用户.多线程SQL数据库服务器.MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成.由于其源码的开放性及稳定性,且与网站流行编徎语言PHP的完美结合,现在很多站点都利用其当作后端数据库,使其获得了广泛应用.处于安全方面的考虑,需要为每一用户赋于对不同数据库的访问限制,以满足不同用户的要求.下面就分别讨论,供大家参考. 一.MySQL修改密码方法总结首先要说明一点的是:一般情况下,修改MySQL

win8系统下通知设置详解

在本文中我们来看看win8系统下通知设置的详解吧! 在Win8中,各种应用的通知推送是很重要的一方面内容,这些通知的推送还可以更进一步的管理,本文将着重介绍Win8的通知设置. 个性化通知设置 在Win8中,应用的通知是一种权限,而权限是否开启则由用户自己决定.首先我们打开一个应用,然后将鼠标滑至屏幕右下角调出Charm栏再选择设置,然后我们能看到"权限"选项,再打开权限就可以了. 应用内的通知权限 此外,Win8还加入了专门的通知设置界面,用于统一管理通知.在开始屏幕或者桌面下,将鼠

StrutsPrepareAndExecuteFilter过滤器和url-pattern设置详解

1.strut 过滤器 FilterDispatcher是struts2.0.x到2.1.2版本的核心过滤器.! StrutsPrepareAndExecuteFilter是自2.1.3开始就替代了FilterDispatcher的.! 这样的改革当然是有好处的.! 为什么这么说.? 应该知道如果我们自己定义过滤器的话, 是要放在strtus2的过滤器之前的, 如果放在struts2过滤器之后,你自己的过滤器对action的过滤作用就废了,不会有效!除非你是访问jsp/html! 那我现在有需求

dede自动获取关键字设置详解

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 也是一件老生常谈的事情,我也老怕自己忘记所以在这里记下来,因为很多时候由于其他一些原因,我们在百度的结果正很难找到适合新手操作的教程,因为大部分采集内容在采集的时候已经"变味"了,那新手怎么办,去dede官方论坛?固然研究dede的人很多,但真正你去问的时候就知道了,没多少人搭理,也便很难找到真正适合的教程.所以在自己实践