Sendmail Server 的档案:
Sendmail 几乎所有的设定档都安置在 /etc/mail 底下,不过,如果你是以 RPM 安装的话,那么还有所谓的 sendmail-cf 的设定档,这个就是使用 M4 在进行 sendmail.cf 设定的程序!由于 Sendmail Server 所使用到的套件并不少,这包括有 sendmail, imap 以及 m4 等等,我们针对这些套件来谈一谈每个目录与档案下的数据吧!
一、sendmail 的设定档:
Sendmail 的设定档几乎全部都在 /etc/mail 底下,但是也不一定!因为还需要看当初你建立 sendmail.cf 这个主要设定档时,将各个档案放置的地点而定!这部份可以使用 RPM 的方式来反查出你的设定档案的路径。Sendmail 与相关套件的设定档与相关的说明为:
/etc/mail/sendmail.cf 或 /etc/sendmail.cf:
这个就是 sendmail 的主要设定档,所有的参数都是他在管理的!但是,这个档案内的各个设定被号称为『天书』,所谓的天书就是『非一般人看的懂得!』,就连 sendmai 官方网站自行开发出来的设定程序也都『告诫大家不要手动编辑这个档案』,所以这里我们也不谈这个档案的内容啦!但是既然这个是主要设定档,那么又不要让大家手动编辑,那我要怎样进行 sendmail 设定的修改呢?这个时候就需要使用到 M4 这个指令了! m4 可以将简单的一些环境设定参数,重新以内定的函式库或者函式定义来『制作』 sendmail.cf 这个设定档呢!sendmail 预设的 sendmail.cf 放置在 /etc/mail/sendmail.cf ,但是某些 Linux distributions 则将他改放在 /etc/sendmail.cf 这里~
/usr/share/sendmail-cf/cf/xxxx.m4 :
刚刚我们提过那个 sendmail.cf 对吧!而由于这个档案***不要手动修改,所以需要使用到 m4 这支程序。 m4 可以将一个简单的环境设定档转成 sendmail.cf ,那个环境设定档就是 sendmail-cf 这个套件所提供的啦。在 Red Hat 7.x 的系统中,主要的环境设定档就是 /usr/share/sendmail-cf/cf/redhat.mc 这个档案喔!不过,在 Red Hat 7.3 以后的所有 Red Hat Linux 版本当中,这个档案被移动到 /etc/mail/sendmail.mc 了!至于其它的 Linux 版本则请参考你的 sendmail-cf 套件的内容!
/etc/mail/local-host-names :
这个档案主要用来处理一个主机同时拥有多个主机名称时候的收发信件主机名称问题。这个档案的用途可大了!当你的主机拥有多个 HOSTNAME 的时候,例如我的主机拥有三、四个主机名称,那么是否每个名称都可以用来做为收受信件的主机名称 ( To: .. ) 呢?并非如此!
如果你的主机名称为 test1.your.domain 以及test2.your.domain ,而且这两个 hostname 您都希望可以用在收受电子邮件,果真如此,那么,你就必需将这两个名字都写入 local-host-names 这个档案当中,一个主机名字占用一行。注意:没有写入这个档案的『你的主机名称』,那信件将无法正确的寄达这部主机喔~例如:www.vbird.adsldns.org、vbird.adsldns.org这两个主机名称的 ip 都是相同的,也就是指向同一台机器上。假设这台主机名称预设为 vbird.adsldns.org,那在预设情况下,寄给 userid@vbird.adsldns.org 都是 ok 没有问题的!但是寄给 userid@www.vbird.adsldns.org 就会出现错误。其中原因是因为没有告诉 MTA 除了 vbird.adsldns.org 这个主机名称外,还有 www.vbird.adsldns.org 也是指向这台主机上。所以寄给 userid@www.vbird.adsldns.org 会出现错误,通常就是 mail loop to me,要不然就是不允许 relay 的错误情况。
/etc/mail/access.db :
这个是『规定谁可以或不可以使用本邮件服务器的数据库』,要转成这个数据库需要藉由 makemap 以及 /etc/mail/access 档案的配合!这个档案可以说是 Sendmail 里面最重要的『使用者权限管理』的数据了!在后面我们会继续说明。
/etc/mail/aliases.db 或 /etc/aliases.db :
这个 aliases.db 是用来设定『信箱别名』的一个东东 ! 你可以藉由这个档案的设定来规范你的『群组收信』喔!不过,还需要藉由 aliases 及 newaliases 来做成这个档案才行!
/etc/mail/statistics :
这个档案在记录 Sendmail 收发信件的相关信息喔!•执行档:
二、Sendmail 的执行档
/usr/sbin/sendmail:
就是 sendmail 的主要执行档啦!他会读取 sendmail.cf 这个档案的设定内容喔。你在发送信件时,就是使用这支程序啦!启用这支程序之后,预设的启用的 port 是 25 咯。
/usr/sbin/ipop3d:
sendmail 的功能是在处理寄信问题,而 ipop3d 就是处理 client 的收信问题啦!如果你的 Mail Server 希望提供客户端使用 Netscape 或 OutLook express 来收信,那么就需要提供这个服务才行!这个服务的设定档在 Red Hat 当中是在 /etc/xinetd.d/ipop3 ,如果是 Open Linux server 3.1.1 的话,那就会变成在 /etc/inet.d/imap 这个档案中。注意: pop3 是由 imap 套件所提供的,并没有包含在 sendmail 套件之中喔!
/usr/sbin/makemap:
主要将 access 转成 access.db 的数据库制作的执行文件;
/usr/sbin/mailstats:
将 /etc/mail/statistics 档案读出来的一支程序!可以查看到目前为止 Sendmail 工作共传送、接收多少邮件啰!
/usr/bin/newaliases:
将 /etc/mail/aliases 转成 /etc/mail/aliases.db 的执行档!
/usr/bin/mailq:
用来观察 /var/spool/mqueue 这个邮件暂存目录的数据情况的指令!
/usr/bin/m4:
这个就是将 *.mc 档案转成 *.cf 档案的主要执行档啰!需要搭配 sendmail 原始码,或者是 sendmail-cf 这个套件才行!
需要注意的是:
m4 是也需要额外的安装的一个套件喔!sendmail 原本套件中并未包含 m4 这个套件!
【编辑推荐】