APP下载

Web邮件系统的设计与实现

2010-04-11寇从芝赵丽红

制造业自动化 2010年11期
关键词:系统管理员记录表邮件

寇从芝,赵丽红

KOU Cong-zhi1, ZHAO Li-hong2

(1. 河北能源职业技术学院,唐山 063004 ;2. 开滦(集团)有限责任公司 信息与控制中心,唐山 063018)

Web邮件系统的设计与实现

Web mail system design and implementation

寇从芝1,赵丽红2

KOU Cong-zhi1, ZHAO Li-hong2

(1. 河北能源职业技术学院,唐山 063004 ;2. 开滦(集团)有限责任公司 信息与控制中心,唐山 063018)

目前很多企业局域网内部都架设了邮件服务器,用于进行公文发送和工作交流。但使用专业的企业邮件系统软件除了需要大量的资金投入外,还不能完全满足企业的个性需求。该系统是专为开滦(集团)有限责任公司开发的专业级、高性价比的邮件系统,具有安全可靠、易管理和易使用等特点。它致力于满足本企业集团的Internet/Intranet邮件系统需求,将确保能够给客户提供良好的服务和优良的系统性能。

邮件系统;Qmail;SQL;Sever

0 引言

随着网络信息化时代的到来,国内企业办公逐渐实现了网络化,而电子邮件则是最重要的网络应用,个人间以及企业间通信越来越依赖电子邮件完成,尤其是开滦(集团)有限责任公司,各分公司遍及河北、新疆、内蒙等地,部门员工众多,电子邮件的通信方式使用更为广泛,使用一款既能满足企业功能,又便于维护管理的邮件系统十分重要。

1 开发环境选择

操作系统选择。Linux作为一个自由软件,自从诞生以来,就在网络世界引起了一场变革,Linux与其它的操作系统相比具有价格上的优势,而在功能和性能上毫不逊色,是UNIX在PC机上的完整实现,在性能和安全方面尤其出色。同时Linux也拥有大量的开发工具和平台。

软件工具选择。Qmail是继Sendmail之后的一个新的电子邮件系统,虽然出现较晚,但却已经得到了比较广泛的应用。当前在国内最流行的免费电子邮件系统如163、371等都是采用Qmail作为基本服务软件,提供多级目录以支持较大的用户数。PHP则是GNU下一款免费软件,遵守 GNU公共许可(GPL)。PHP在大多数Unix平台,GUN/Linux和微软Windows平台上均可以运行。PHP可以编译成具有与许多数据库相连接的函数。还可以根据需要自己编写外围的函数间接存取数据库。数据库系统则采用目前流行的SQL Sever。

2 系统功能设计

在设计邮箱功能上,主要设置了以下几点。

1)用户注册/注销功能。用户通过申请可以得到一个自己命名的信箱,也可以把自己的信箱注销。注册过程要通过管理员的审查。

2)用户丢失密码处理功能。用户一旦丢失密码,可以通过注册时设置的密码提示问题重新设置密码。

3)用户收邮件功能。它包括SMTP收邮件、POP3取邮件和WWW读邮件三种方式。

4)用户发邮件功能。它包括SMTP发邮件、WWW直接发送邮件、抄送邮件、转发邮件、自动回复邮件。

5)用户信件管理功能。系统初始设置4个文件夹来分类处理信件:收件箱、发件箱、草稿箱和垃圾箱。用户还可以自己建立新的文件夹,信件在各个信箱之间可以相互移动。

6)用户查找功能。用户可以使用查找功能通过查找信件主题或信件内容来找到自己需要的信件。

7)管理员管理用户和信箱邮件功能。包括输入(增删改)、查询、统计、报表,系统性能参数设置。

8)邮件过滤功能。用户可以屏蔽固定地址或固定用户发来的邮件。

9)通讯录功能。用户可以设置自己的通讯录,包括通讯群和通讯人,方便用户邮件的接收和发送。

10)邮箱智能分配功能。在企业中,不同职位的用户使用邮箱的频率是不同的,职位高的户常常要处理更多的邮件,因此,系统根据用户的职位分配给用户不同的邮箱容量。

3 数据库设计

主要有以下4个数据库组成。

1)基本库。包括用户的基本注册信息表和系统管理员的信息表等基本信息,这些信息一旦录入,改动都不会太大。例如:账号、密码、申请时间、科室、申请的当前步骤(主要是防止用户恶意跳过某些步骤而设定的)

2)通讯联系库。存放用户的通讯录,包括联系人表、发送信息表、接收信息表等。

3)活动记录库。包括时间记录表、发送记录表、接收记录表和邮箱状态表等。其中时间记录表是用来记录用户每次登录时间次数的,系统管理员可以根据该表了解用户的使用情况,如果有用户长时间不用该邮箱,系统管理员应当及时将该帐号撤销或暂停;发送记录表记录该用户每次登录后的发送情况,包括发送的时间、发送地址、以及该邮件的相关信息;接收记录表与发送记录表类似;邮箱状态表则记录用户的邮箱使用情况,包括未读邮件数量、每个文件夹(folder)里的邮件数量、用户已用的邮箱容量和比率。

4)访问控制库。包括用户权限表、屏蔽地址表、邮箱分配表、用户信息反馈表等。用户权限包括发送权限、接收权限、阅读权限、删除权限等,因为在企业中,用户可能会让别人代替自己查看邮箱,这时候权限的存在就很有必要,用户可以授予其他用户某些权限,系统管理员也可以根据用户的使用情况停止或授予用户的某些权限;屏蔽地址表保存用户要屏蔽的邮件地址。

4 编程难点分析

1)php调用qmail的控制程序。sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等。这样不仅减少了root用户的登陆和管理时间,同样也提高了安全性。由于php程序默认的用户是nobody用户,不能调用qmail的控制程序,必须借用sudo命令,修改/ect/sudoers文件,增加以下部分:

分别实现增加用户、删除用户、修改口令、校验用户口令是否正确、修改邮箱最大容量、修改用户信息的功能。

system()和exec()函数是PHP提供共的专门执行外部命令的函数。它们的区别主要在于:system()函数用于在执行给定的命令时,输出和返回结果,而exec()函数不输出结果,而是返回结果的最后一行。在一些功能实现上,例如修改口令,修改邮箱容量,增加用户等,要知道程序是否被正确执行或执行后的状态,则必须选用exec()函数。下面就是“删除用户”功能的主要代码:

2)email中附件的上传及下载:PHP的upload.html和upload.php函数都可以实现文件上传。其中,用upload.html实现上传的代码如下:

出于安全,文件下载则是直接采取从浏览器访问到目录下,读出文件提供给用户下载。程序部分代码如下:

3)email中邮箱容量的调整。 通过修改php的php.ini文件来扩大上载文件的最大容量,同时在网页的from中通过增加来实现限制单个附件的大小不允许超过size指定大小。还可以利用网页的timeout变量来设置邮件上传时间。如果网络速度比较慢的话,会回应为时间太长而超时。

5 结论

通过电子邮件进行方便、快捷的信息交流,已经逐渐成为企业工作中不可或缺的行为习惯。该系统可以让邮件管理员开设不同名字的邮箱,根据不同的需求设定邮箱的空间,而且可以随时关闭或者删除这些邮箱,还可以根据需要设置不同的管理权限等等。除了一般的终端邮件程序方式(如outlook,foxmail)收发E-mail之外,还可以实现WEB方式收发和管理邮件,比一般ISP提供的电子邮箱提供的信箱更为方便。

[1] Bill McCarty,著,天宏工作室,译.PHP4开发指南.清华大学出版社,2002.

[2] William.C.Amo,著,懂梁,译. Sql Server OLAP开发指南.电子工业出版社2000.

[3] Qmail实用技术指南,赖斌,等译.清华大学出版社,2001,6.

[4] qmail全攻略,黄小华.人民邮电出版社,2001,12.

[5] GNU/Linux高级网络应用服务指南. LinuxAid网站.机械工业出版社,2001,1.

TP391

A

1009-0134(2010)10(下)-0208-02

10.3969/j.issn.1009-0134.2010.10(下).65

2009-11-05

寇从芝(1971 -),女,河北石家庄人,副教授,硕士学位。

猜你喜欢

系统管理员记录表邮件
2022.04.21~2022.05.20国外运载火箭发射记录表
基于James的院内邮件管理系统的实现
2022.1.21~2022.2.20国外运载火箭发射记录表
2021.01.21~2021.02.20 国外运载火箭发射记录表
来自朋友的邮件
2020.7.21~2020.8.20国外运载火箭发射记录表
一封邮件引发的梅赛德斯反弹
计算机文件安全管理系统研究与设计
Outlook和Foxmail邮件互导
Windows 7中将采用Xml格式保存日志文件