当前位置:Linux教程 - Linux - Webmail系统的建设

Webmail系统的建设

  Webmail是当今非常流行的E-mail形式,同时通过浏览器可以进行相应的个人及系统的管理工作。所以Webmail系统的建设必不可少。

  大中型企业电子邮件系统用户数量常常很大,虽然使用对象相对固定,但用户水平参差不齐,对用户的管理工作也比一般的ISP更为严格。这给邮件系统管理人员带来繁重的管理工作,我们希望能采用目前流行的免费 Webmail 形式提供邮件服务和远程管理,用户通过浏览器就能够完成邮箱申请、密码更改、发送邮件、接收邮件等工作,并且能以数据库方式保存用户的注册信息、个人信息和通信录等,这样大大方便了一般用户,特别是对E-mail客户端软件使用不熟练的用户,同时减轻了系统管理员繁琐的用户管理工作。

表3 CGI程序名称
功能说明

listvdomain
以表格形式列出虚拟域中的别名和用户邮箱

vaddalias
增加一个别名

vadduser
增加一个用户及邮箱

vchattr
修改用户的各项属性

vchforwards
修改用户的邮件转发目的地

vdeluser
删除一个用户

vpasswd
修改用户的口令(用户自行修改或由管理员修改)

  我们采用著名的Apache作为Web服务器,使用PHP3为脚本语言,数据库系统采用小巧而高效的MySQL,这是目前建立动态网站的“黄金组合”。介绍这几种软件的资料很多,在网上还有很多高手建立了专门的网站,限于篇幅,有关这三个软件的安装使用方法,就不介绍了。

  在Webmail的具体程序设计中,Web客户端可以通过直接文件访问的方式来获得用户的邮件,也可以通过POP3、IMAP等标准协议来访问。我们采用的是通过IMAP协议来访问服务器,其优点是Web客户端和E-mail服务器相分离,可提高系统安全性,同时PHP3提供了丰富的IMAP和MySQL函数库,使我们可以很轻松地写出简捷高效的程序。

  在设计用户管理Web页面时,可直接调用Vmailmgr提供的CGI程序,它们在Vmailmgr安装完成时已被自动存放在网站的cgi-bin目录下了,简要说明见表3,详细的说明和使用方法可查阅文档中的vmailmgr-cgi.htm。



表4 函数语法格式
函数说明

int vm-adduser(string vdomain, string basepwd, string newusername, string newuserpassword);
增加一个虚拟用户

int vm-deluser (string vdomain, string username)
删除一个虚拟用户

int vm-addalias (string vdomain, string basepwd, string username, string alias)
增加一个虚拟用户的别名

int vm-delalias (string vdomain, string basepwd, string alias)
删除一个别名

int vm-passwd (string vdomain, string username, string password, string newpassword)
修改一个虚拟用户的口令

  要想自己设计更灵活方便的页面,Vmailmgr还提供了一组PHP3、PHP4函数,见表4。

  当前,已经有一些相当成熟的开放源代码的Web客户端软件,如采用Perl编写的WING,还有采用PHP来实现的IMP等,这些开放源代码软件都相当不错。其中,IMP是通过IMAP协议访问服务器的Web邮件客户端软件,功能强大,支持多种语言和数据库(可在Http://www.horde.org下载),使用这些软件可大大减轻系统开发的工作量。