红联Linux门户
Linux帮助

Linux下Mail服务器架设攻略

发布时间:2005-10-05 11:14:32来源:红联作者:Coso
我们以Red Hat Linux 9.0为例。在linux下可供选择的邮件服务器套件有Sendmail和Qmail。Qmail比较注重安全问题,如果你需要一个安全的邮件网关,那它是一个不错的可选方案;而Sendmail在稳定性、可移植性、及确保没有bug方面具有一定特色,且可以在网络中搜索到大量的使用资料,因此Linux下一般都选用此系统搭建,本文也是基于Sendmail为例。

一、安装Sendmail

  完全安装Red Hat Linux 9.0时,Sendmail就会自动内置,版本号为8.12.8-4。如果你不确定Linux是否已经安装有sendmail,可以输入以下命令查看:

  [root@ahpeng root] rpm -qa grep sendmail

  如果确定没有安装,请在图形界面下依次选择单击“主菜单-系统设置-添加删除应用程序”,然后在打开的“软件包管理”窗口里选中“邮件服务器”选项,点“更新”后按照提示安装即可。

  另一种办法是:直接插入Linux第1张安装光盘,选择/RedHat/RPMS目录下的sendmail-8.12.8-4.i386.rpm安装包,之后运行[root@ahpeng RPMS] # rpm -ivh sendmail-8.12.8-4.i386.rpm即可开始安装,再用此方法在第3张安装光盘的同目录下依次安装sendmail-cf.8.12.8-4.i386.rpm、sendmail-doc. 8.12.8-4.i386.rpm。

二、启动Sendmail服务系统

  笔者建议使用带参数的Sendmail命令控制邮件服务器的运行:[root@ahpeng root]# sendmail -bd -q12h,后跟的参数解释如下:

  -b:设定Sendmail服务运行于后台。
  -d:指定Sendmail以Daemon(守护进程)方式运行。
  -q:设定当Sendmail无法成功发送邮件时,就将邮件保存在队列里,并指定保存时间。上面的12h表示保留12小时。

  此外,要检测Sendmail服务器是否正常运行,可以使用命令行:[root@ahpeng root] # /etc/rc.d/init.d/sendmail status。

三、配置Sendmail

  sendmail.cf的配置语法比较难懂,一般资料上都是采用m4宏处理程序来生成所需的sendmail.cf文件(使用m4编译工具一般不容易出错,还可避免某些带有安全漏洞的宏对服务器造成的破坏)。其配置文件位于/etc/mail/sendmail.cf,在创建的过程中还需要一个模板文件,Linux自带有一个模板文件,位于/etc/mail/sendmail.mc。故可以直接通过修改sendmail.mc模板来达到定制sendmail.cf文件的目的,而不必去死啃哪些难理解的配置命令。配置步骤为:

  第一步:用模板文件sendmail.mc生成sendmail.cf配置文件,并导出到/etc/mail/目录下,使用命令行为:m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

  第二步:再用[root@ahpeng root] /etc/rc.d/init.d/sendmail restart命令行重启sendmail。

  至此,邮件服务系统配置完成,已经正常工作。接下来就是创建具体的帐户了。

四、建立电子邮件新帐号

  此步骤相对简单,只需在Linux里新增一个用户即可。依次进入“主菜单-系统设置-用
户和组群”选项,接着打开“Red Hat用户管理器”对话框,点“添加用户”按钮,在接着出现的“创建新用户”窗口中输入用户名及密码即可,如图所示:

创建mail使用帐号

  命令行方式为:[root@ahpeng root]#adduser mailA -p Pass,表示创建了一个mailA的帐号,密码为Pass。

五、限制单个用户邮箱容量

  如果对用户的邮件容量不加限制,服务器的硬盘是不堪重负的。这可以使用“邮件限额”功能来实现:因为电子邮件的暂存空间是位于/var/spool/mail目录下的,所以只需通过磁盘配额设定每一个邮件帐户在此目录下能使用的最大空间即可。

六、单一用户设定多个邮件地址

  使用别名(alias)可以解决这个问题。别名是sendmail最重要的功能之一。它在aliases这个文本文件中定义,aliases文件的位置由sendmail.cf指定,一般位于/etc目录下。比如前面我们建立的mailA用户要拥有2个邮件地址:mailA@yourdomain.commailB@yourdomain.com,可以这样设置:

  首先,新增一个账号mailC,然后用Linux的文本编辑器打开/etc/aliases,在里面加上:dearpeter: mailC和truepeter: mailC这两个命令行;然后在命令窗口运行newaliases命令,以要求Sendmail重新读取/etc/aliases文件。如果正确无误,会出现一段回应消息,表示配置成功。这样就可以使用2个地址给mailC发信,而mailC则只需用其中一个账号就可接收寄给以上2个地址的所有邮件。

  经过以上步骤后,应该就可以用Outlook Express正常发送邮件了,但这时还不能用Outlook Express从服务器端收取邮件的,因为sendmail默认状态并不具备POP3功能,我们还得自己安装并启用它。

  1、POP3(IMAP)服务器安装

  第一步:用以下命令行检查系统是否安装:

  [root@ahpeng root]# rpm -qa imap
  imap-2001a-18

  第二步:插入第2张安装光盘,使用下面的命令行开始安装:

  [root@ahpeng root]#cd /mnt/cdrom/RedHat/RPMS
  [root@ahpeng root]#rpm -ivh imap-2001a-18.i386.rpm

  2、启用POP3(IMAP)服务

  POP3服务:请先修改/etc/xinetd.d/ipop3文件,将其中的“disable=yes”改为“disable=no”后保存;然后重新启动xinetd程序来读取这个修改过的配置文件,使之生效:

  [root@ahpeng root]#/etc/rc.d/init.d/xinetd reload

  启动IMAP服务的步骤跟POP3一样,只是IMAP的配置文件为/etc/xinetd.d/imap罢了。经过这些折腾,你的Linux已经是一台邮件服务器了!大家学会了吗?
文章评论

共有 0 条评论