架设邮件服务器

架设邮件服务器
邮件服务器是一个网站所必须的服务,在这里我们可以通过 Red Hat Linux 9.0 自带的 Sendmail 来架设邮局服务器。

   1. 安装 Sendmail
  如果是完全安装 Red Hat Linux 9.0 ,那么系统已经内置有 Sendmail 8.12.8 -4 服务器。如果不能确定是否已经安装 sendmail ,可以在终端命令窗口输入如下命令:

   [root@ahpeng root] rpm -qa | grep sendmail

  如果结果显示为 “sendmail-8.12.8 -4” ,则说明系统已经安装 sendmail 服务器。如果安装 Red Hat Linux 9.0 时没有选择 Sendmail 服务器,则可以在图形环境下单击 主菜单 系统设置 添加删除应用程序 菜单项,在打开的 软件包管理 对话框中确保选中 邮件服务器 选项,然后单击 更新 按钮,按照屏幕提示插入第一张安装光盘即可开始安装。

  另外,你也可以直接插入第 1 张安装光盘,定位到 /RedHat/RPMS 目录下的 sendmail-8.12.8-4.i386.rpm 安装包,然后在终端命令窗口运行以下命令即可开始安装进程:

   [root@ahpeng RPMS] # rpm -ivh sendmail-8.12.8-4.i386.rpm

  用类似的方法安装 sendmail-cf.8.12.8-4.i386.rpm sendmail-doc. 8.12.8-4.i386.rpm ,位于第 3 张安装光盘的 /RedHat/RPMS 目录下。

   2. 启动 / 重新启动 / 停止 Sendmail 服务
  安装 Sendmail 服务器以后,最简单的启动方式是在终端命令窗口运行如下命令:

   [root@ahpeng root]/etc/rc.d/init.d/sendmail start

  应该会出现以下的结果,表明邮件服务器已经启动成功:

  启动 sendmail [ 确定 ]

  启动 sm-client [ 确定 ]

  除以上方式,我们还可以使用带参数的 Sendmail 命令控制邮件服务器的运行,例如:

   [root@ahpeng root]# sendmail -bd -q1h

   Sendmail 的命令参数的含义如下:

   -b :指定 Sendmail 在后台运行,并且监听端口 25 的请求。

   -d :指定 Sendmail Daemon 方式运行 ( 守护进程 )

   -q :当 Sendmail 无法将邮件成功地发送到目的地时,它会将邮件保存在队列里。该参数指定邮件在队列里保存的时间。例子里的 1h 表示保留 1 小时。

  在终端命令窗口运行以下命令来重新启动 Sendmail 服务:

   [root@ahpeng root]#/etc/rc.d/init.d/sendmail restart

  在终端命令窗口运行以下命令来关闭 Sendmail 服务:

   [root@ahpeng root]#/etc/rc.d/init.d/sendmail stop

  我们还可以在终端命令窗口运行以下命令来检测 Sendmail 服务器的运行状态:

   [root@ahpeng root]# /etc/rc.d/init.d/sendmail status

  系统应该显示:

   sendmail (pid 3251) 正在运行

   3. 配置 Sendmail
   Sendmail 的配置十分复杂。它的配置文件是 sendmail.cf ,位于 /etc/mail 目录下。由于 sendmail.cf 的语法深奥难懂,很少有人会直接去修改该文件来对 Sendmail 服务器进行配置。我们一般通过 m4 宏处理程序来生成所需的 sendmail.cf 文件。创建的过程中还需要一个模板文件,系统默认在 /etc/mail 目录下有一个 sendmail.mc 模板文件。

  我们可以根据简单、直观的 sendmail.mc 模板来生成 sendmail.cf 文件,而无需直接编辑 sendmail.cf 文件。可以直接通过修改 sendmail.mc 模板来达到定制 sendmail.cf 文件的目的。这里介绍创建 sendmail.cf 文件的步骤:

   (1) 备份原有 sendmail.cf 文件

  在终端命令窗口运行以下命令:

   cp /etc/mial/sendmail.cf /etc/mail/sendmail.cf.BAK

   (2) 生成 sendmail.cf 文件

  根据 sendmail.mc 模板文件产生 sendmail.cf 配置文件,并导出到 /etc/mail/ 目录下:

   m4 /etc/mail/sendmail.mc >; /etc/mail/sendmail.cf

   (3) 重启 sendmail 服务

   [root@ahpeng root] /etc/rc.d/init.d/sendmail restart

  很显然,用 m4 宏编译工具创建 sendmail.cf 文件比较方便,而且不容易出错,更可以避免某些带有安全漏洞或者过时的宏所造成的破坏。一个 sendmail.mc 模板的大致内容如下:

   divert(-1)dnl

   ……

   include('/usr/share/sendmail-cf/m4/cf.m4')dnl

   VERSIONID('setup for Red Hat Linux')dnl

   OSTYPE('linux')dnl

   ……

   dnl #

   dnl define('SMART_HOST','smtp.your.provider')

   dnl #

   define('confDEF_USER_ID',''8:12'')dnl

   define('confTRUSTED_USER', 'smmsp')dnl

   dnl define(′confAUTO_REBUILD′)dnl

   ……

  这里介绍 sendmail.mc 模板的语法组成:

   dnl :用来注释各项,同时 dnl 命令还用来标识一个命令的结束。

   divert(-1) :位于 mc 模板文件的顶部,目的是让 m4 程序输出时更加精简一些。

   OSTYPE ('OperationSystemType') :定义使用的操作系统类型,显然这里应该用 linux 代替 OperationSystemType ,注意要用一个反引号和一个正引号把对应的操作系统类型括起来。

   define :定义一些全局设置,对于 Linux 系统,设置了 OSTYPE 之后,可以定义下面的一些全局参数,如果不定义,就使用默认值。这里举两个简单例子: define('ALIAS_FILE' '/etc/aliases')

  定义别名文件 (alia file) 的保存路径,默认是 /etc/aliases

   define('STATUS_FILE', '/etc/mail/statistics')

   sendmail 的状态信息文件。

  以上只是 sendmai.mc 的一些简单的语法解释,更多的参数含义及其配置信息可以参见 http://www.sendmail.org/m4/tweaking_config.html

   4. 为新用户开电子邮件账号
  在 Linux 里为新用户开设电子邮件账户比较简单,只需在 Linux 系统里新增一个用户即可。单击 主菜单 系统设置 用户和组群 菜单项,打开 “Red Hat 用户管理器 对话框,单击 添加用户 按钮,在出现的 创建新用户 对话框里指定用户名、登录口令即可,如图 3 所示。

  假设我们添加了一个用户 Peter( 密码为 peter) ,这样该用户就有了一个邮件地址 [email protected]( 此处的 YourDomain.com 用你自己域名代替 )

  以上过程也可以在终端命令窗口运行以下命令来实现:

   [root@ahpeng root]#adduser peter -p peter

   5. 为电子邮件账户设置别名
  有一些用户想使用多个电子邮件地址,是不是需要创建多个邮件账号呢?我们可以使用别名 (alias) 来解决这个问题。

  比如说,用户 peter 想拥有以下 3 个电子邮件地址:

   [email protected] dearpeter@ YourDomain.com truepeter@ YourDomain.com

  我们可以通过以下步骤来实现这样的别名设置:

  新增一个账号 peter ;然后用 vi 、或者 Kate 等文本编辑器打开 /etc/aliases ,在里面加上两行:

   dearpeter: peter

   truepeter: peter

  保存该 /etc/aliases 退出。

  不过,就这样还不能让 Sendmail 接受新增的别名,我们必须在终端命令窗口运行 newaliases 命令,以要求 Sendmail 重新读取 /etc/aliases 文件。如果一切无误,应该可以看到类似以下的回应消息:

   [root@ahpeng root]# newaliases

   /etc/aliases: 63 aliases, longest 10 bytes, 625 bytes total

  这样,发给 peter 的邮件可以使用 3 个邮件地址,而 peter 只需要使用一个电子邮件账号 [email protected] 就可以接收所有寄给以上 3 个地址的电子邮件。

   6. 指定邮箱容量限制
  当一个邮件服务器为许多人提供邮件服务时,无限量的电子邮件将很容易塞满服务器的硬盘,造成硬盘负担。如果不想为用户提供无限空间的邮件暂存空间,可以使用 邮件限额 来给用户一个有限的暂存空间。

  其实,它是利用磁盘配额功能来实现的。电子邮件的暂存空间是在 /var/spool/mail 目录下,只要通过磁盘配额设定每一个用户在这个目录下能使用的最大空间即可。

   7. 支持 POP IMAP 功能
  到现在为止,我们已经可以用 Outlook Express 发送邮件,或者登录服务器使用 mail pine 命令收取、管理邮件。但是还不能用 Outlook Express 等客户端从服务器下载邮件,这是因为 Sendmail 并不具备 POP3(IMAP) 的功能,所以我们必须自己安装。

   (1)POP IMAP 服务器安装

  安装 Red Hat Linux 9.0 时,可以选择安装 POP 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

  由于 Red Hat Linux 9.0 已经将 POP IMAP 打包成一个单独的套件,安装好 imap -2001a -18.i386.rpm ,就会同时安装这两个服务器

   (2) 启动 POP IMAP 服务

  要成功启动 POP IMAP 服务器,首先要确定这些服务存在于 /etc/services 文件,确保以下的服务前面没有加上 # 注释 ( 如果有,必须去除注释 )

   imap    143/tcp imap2   # Interim Mail Access Proto v2

   imap    143/udp imap2

   pop2    109/tcp pop-2   postoffice   # POP version 2

   pop2    109/udp pop-2

   pop3    110/tcp pop-3   # POP version 3

   pop3    110/udp pop-3

  修改好 /etc/services 文件,接下来就要对相应服务配置文件进行定制:

  启动 POP3 服务:必须修改 /etc/xinetd.d/ipop3 文件,将其中的 “disable=yes” 改为 “disable=no” ,保存该文件。最后必须重新启动 xinetd 程序来读取新的配置文件,使得设定内容生效:

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

  启动 IMAP 服务:必须修改 /etc/xinetd.d/imap 文件,将其中的 “disable = yes” 改为 “disable =no” ,保存该文件。最后必须重新启动 xinetd 程序来读取新的配置文件,使得设定内容生效:

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

  设置好以后,就可以在 Outlook Express 里面设置好邮件账号,以后就可以直接利用 Sendmail 服务器进行收发邮件了,由于邮件服务器就在本地局域网,所以速度很快。

你可能感兴趣的:(邮件,职场,服务器,休闲)