构建校园网页面电子邮件系统

来源:岁月联盟 作者:佚名 时间:2010-08-30

摘要:本文完全采用自由软件FreBSD操作系统、Sendmail邮件软件、Openwebmail页面电子邮件软件,构建了一个功能完备运行稳定的校园网电子邮件系统。

关键词:Freebsd Sendmail Openwebmail

    随着互联网的迅速,电子邮件已经成为师生们对外交流不可或缺的手段。通过电子邮件沟通,不仅节省费用,而且快捷方便。传统的电子邮件是通过电子邮件客户端收发的,收发电子邮件时需要填写一些参数,这对电脑不是很熟悉的人员来说是一件比较困难的事情,需要管理人员做大量的技术支持。而页面电子邮件系统,只要会使用浏览器上网的人都会使用,这不仅方便了广大师生们的使用,也大大减轻了网络管理人员的工作量。
    页面电子邮件服务器的建设已经成为整个校园网建设的一个重要组成部分。如果纯粹购买商业的软件,将要花费大量的资金。幸好自由软件的蓬勃发展,给我们提供了另外一种选择,本文就以FreeBSD为操作系统,使用自由软件Sendmail和Openwebmail构建了一个功能强大运行稳定但却免费的页面电子邮件系统

一、FreeBSD的安装
    Unix共分两大类:SVR4和BSD,FreeBSD是BSD类Unix的代表。将机器由FreeBSD安装光盘启动,按照界面提示安装FreeBSD操作系统,这方面的很多,不再赘述。
在划分硬盘分区时一定要注意划出专门的邮件队列空间和用户邮件存储空间,以免和别的系统目录共用一个硬盘分区,造成相互干扰。有关邮件的硬盘分区情况如下:
    /mqueue  是目录/var/spool/mqueue符号连接,存放待发送邮件
    /mail      是/var/mail符号连接,存放已经收到的邮件
    /popmail  用于设置电子邮件磁盘配额时,作为pop3方式接收电子邮件的临时转放
    /home    用于页面电子邮件的转放

二、Sendmail的设置
    Sendmail是一个功能强大的邮件传送代理,也就是通常所说的邮件服务器软件。FreeBSD系统安装完毕后,Sendmail已经自动安装好,只需设置好相应的参数便可正常运行。
1、 加入relay主机
    relay就是邮件中继的意思,它控制着可以替什么人(根据ip地址判断)发送电子邮件,限制它只能为本校的ip地址发送电子邮件,以免被外人当作垃圾邮件服务器使用。编辑文件/etc/mail/access加入如下格式的中继ip地址:
    203.207.244.10 RELAY    说明:这是添加单个ip地址的格式
    172.16.72      RELAY    说明:这是添加一个网段ip的格式
添加完成以后运行命令makemap hash access.db < access生成sendmail所能识别的格式文件。

2、 安装pop3服务器
    pop3服务器的安装就是为了使邮件使用者能够使用Outlook之类的邮件客户端软件能收取电子邮件。添加FreeBSD光盘带的pop3服务器软件包,命令格式为:

    a、FreeBSD安装光盘放入光驱
    b、mount /cdrom
    c、cd /cdrom/packages/All
    d、pkg_add qpopper-4.0.3_1.tgz
    e、修改inetd.conf的pop3行
        pop3  stream  tcp  nowait  root  /usr/local/libexec/qpopper qpopper -s
3、 修改 /var/mail、/var/spool/mqueue分别符号指向/mail、/mqueue。
    /var/mail用于存放接收到的电子邮件,但当电子邮件数量众多时,容易造成/var分区磁盘空间的溢出,造成/var分区中的系统其他部分工作不正常,所以将其单独拿出,符号链接到一个单独的硬盘分区/mail,这样电子邮件占满磁盘空间时就不会干扰操作系统的正常运行。命令格式如下:
    a、chmod 775 /mail
    b、chown root:mail /mail
    c、rm -rf /var/mail
    d、ln –s /mail /var/mail
    e、chmod 775 /var/mail
    f、chgrp  -h mail /var/mail
    /var/spool/mqueue用于存放即将发送的电子邮件,出于同样的考虑,将其符号链接到一个单独的硬盘分区/mqueue。命令格式如下:
    a、rmdir /var/spool/mqueue
    b、ln –s /mqueue /var/spool/mqueue
    c、chgrp –h daemon /var/spool/mqueue
    d、chgrp –h daemon /mqueue

4、 启用硬盘磁盘空间配额限制
    限制每个电子邮件用户的空间主要是为了防止一些用户过度占用硬盘空间,造成别的用户无硬盘空间存放电子邮件的情景。限制用户空间的操作步骤:
    (1)修改内核配置文件,重新编译内核
       vi /usr/src/sys/i386/conf/mykernal 加入 options QUOTA
       config mykernal
       cd ../../compile/mykernal
       make depend; make; make install
    (2)修改/etc/fatab,启用/mail、/home硬盘分区的磁盘配额限制
       vi /etc/fstab将/mail、/popmail的rw改为rw,userquota,groupquota
    (3)编辑每个用户的磁盘配额限制
       edquota 用户名
    同时将每个用户在/mail下的pop扩展名的文件符号链接至/popmail下的同名文件,以免造成使用pop3方式接收邮件时,用户磁盘配额已满无法正常收发电子邮件的情况。可使用如下脚本命令:
    if [ -r /var/mail/.$1.pop ]; the   rm /var/mail/.$1.pop
    fi
    touch /home/$1/.$1.pop
    chown $1:mail /home/$1/.$1.pop
    chmod 660 /home/$1/.$1.pop
    u_mask=`umask`
    umask 117
    ln -s /home/$1/.$1.pop /var/mail/.$1.pop
    umask $u_mask
    说明:$1就是脚本命令文件所跟的参数,即电子邮件用户名


三、Openwebmail页面邮件的安装
1、 安装www服务器
    页面电子邮件离不开www服务器的支持,我们安装的是最通用的apache软件。操作步骤如下:
    a、光驱放入FreeBSD安装光盘
    b、mount /cdrom
    c、cd /cdrom/packages/All
    d、pkg_add apache_*.tgz
2、 安装openwebmail页面电子邮件软件,操作步骤如下:
    a、光驱放入FreeBSD安装光盘
    b、mount /cdrom
    c、cd /cdrom/packages/All
    d、pkg_add CGI.pm-*.tar.gz
       pkg_add MIME-Base64-*.tar.gz
       pkg_add libnet-*.tar.gz
    e、pkg_add openwebmail*tgz
3、修改openwebmail页面电子邮件系统的配置文件,使其适应实际工作的需要,此配置文件位于/usr/local/www/cgi-bin/openwebmail/etc下的openwebmail.conf,部分重要参数详解如下:
    enable_changepwd yes 允许用户自行修改密码
    enable_autoreply yes 启动系统自动回信功能
    default_autoreplysubject [Re: $SUBJECT] 设置自动回信的标题和内容
    <default_autoreplytext>
    </default_autoreplytext>
    enable_calendar yes 启用日历功能
    default_language zh_CN.GB2312 设置默认语言为中文
    default_moveoldmsgfrominbox yes 将收件箱已阅读的邮件转往存档箱

4、在浏览器打入URL:http://服务器名或IP/cgi-bin/openwebmail/openwebmail.pl就可以使用这个页面电子邮件了。

结束语:我们在一台HP tc4100服务器上安装了这套系统,已开设了近3000个电子邮件帐户,至今已稳定运行了半年多。这套页面电子邮件系统对绝大多数校园网均有价值。

参考:
[1]、王波 《FreeBSD使用大全》(第一版、第二版) 机械出版社
[2]、Michael Urban 《FreeBSD技术内幕》 机械工业出版社

图片内容