最近几年来,基于Web的免费Email系统非常流行,当前,几个著名的免费Email网站基本上已经成为大多数人的选择,建立单纯提供免费Email服务的站点不再像以前那样受到热烈欢迎,但是提供Web界面的Email服务已经成为了一个商业站点为其注册成员提供的基本服务之一。
一个Email系统可以分为服务器端和客户端,Web界面的Email系统则是将Email客户放在了Web服务器端,因此Email系统所需要实现的是一个Web界面的Email客户。然而,由于这个Email系统要求用户数量较大,因此对于Email服务器也有特定的要求。
1. 操作系统和用户数据库
由于提供Web和Email服务要求稳定性和性能特别高,因此一般都使用Unix作为服务器的操作系统,例如hotmail使用FreeBSD 和Solaris,国内163等站点也是BSD系列。然而, Unix的标准Email系统也不合适用做这种大容量服务。有的Unix系统,例如当前版本的Linux,其用户标识只有16位,因此用户数量最多只能有64K,即使Unix系统本身支持32位的用户标识,考虑到性能因素,单台服务器支持的用户数量也不要超过10 万。
为了具有支持更多用户的可扩展性,一般采用多台服务器同时提供服务,虽然此时仍然可以使用标准Unix用户作为Email用户,但考虑到安全性、性能以及可管理性,一般采用非Unix系统用户来作为Email用户。而保存用户数据通常采用支持网络访问的数据库形式,一般常用的有LDAP、标准数据库、以及Email系统自己实现的用户数据库。其中,LDAP由于是提供目录服务的标准,因此应该为最佳的选择,其常用的开放源代码实现为OpenLDAP;而标准数据库由于实现方便、可扩展性强,其中在Int ernet上最常用的为MySQL;此外,也有使用其他方式的实现。
2. 邮件的保存
由于用户数量较大,如何保存用户的邮件就是一个非常重要的问题。传统Unix使用一个单一目录来保存所有用户的邮件,在用户数量较多时就极大的降低了文件系统的性能。只有使用多级目录,每个目录下的文件数量有限,才能降低打开文件时的系统消耗,或者不再使用简单的文件来保存邮件,而采用某一种封装形式。完全采取数据库形式来保存邮件,由于用户邮件操作多为文件操作,且大小变化较大,因此会造成性能和存储空间上较大的浪费。
由于用户数量巨大,并且也要求能被多台服务器同时访问,必须采用存储空间较大的服务器或服务器集群来保存,通过光纤通道或者网络文件系统NFS来共享存储空间,使得每个用户的邮件存储路径对于每个服务器都是一致的。光纤通道是一种非常昂贵的解决方法,更为常用的是使用NFS,可以使用专用的NFS服务器,如NetApp,或者使用带有RAID能力的PC Unix服务器。
当使用NFS共享存储空间的时候,一个非常重要的问题必须注意。由于NFS缺乏文件锁定机制,因此使用传统的用户邮件存储格式mailbox时,因为所有的邮件都保存在同一个文件中,因此进行邮件操作就必须加锁,以保证没有访问冲突,这就使得它不适合NFS存储方式。为了解决这个问题,qmail提出了Maildir存储方式,每个邮件作为单独的一个文件保存在用户个人的邮件目录下,就避免了加锁。因此,常见的免费邮件服务器,一般都采用Maildir方式来保存用户的邮件。
如果不打算使用共享文件系统的方式来保存用户的邮件,而打算让每个服务器只访问其自己硬盘存储空间上的用户邮件,那么Email服务器和客户端都需要进行定制,使它们能通过用户名来找到用户属于的真正服务器,将访问任务交给这个服务器完成。这种方法的缺点除了所需要的改动较大之外,系统结构复杂之外,还由于服务器是按用户进行分割的,不利于分担负载。其优点也是由于它不通过网络访问其他服务器,因此可以采用任意的邮件存储格式,包括采用强大的cyrus系统来保存邮件和提供服务。
3. 邮件服务器软件
标准的Email软件,例如sendmail,虽然也提供了一些包括aliases等方法,来支持非Unix系统用户,但是这些能力对于实现这种Email系统是不够的。为了支持这些Email用户,必须使用自己的Email服务器软件。一般由于现有的Email软件都相当成熟,而且也都是开放源代码的软件,因此一般都是改动原有的Email软件,如sendmail、qmail等,使其支持特定的Email用户。完全重写一个Email服务软件,从成熟性、稳定性来看并不可取。
不管从性能上,安全性上考虑,sendmail并不是理想的选择,而且由于qmail本身就支持Maildir,因此就成为了常用的Email 软件的基础开发平台。然而需要注意的是,qmail使用GPL许可进行保护,因此基于qmail进行的任何改动,原则上必须公开源代码,这对开发商业系统有一定障碍。当然可以通过不改动qmail,而改动相关的系统库函数,或者采用外挂的方式来绕过这个问题。另一个可选的基础Email软件是postfix,其本身就具备与LDAP、MySQL的接口,几乎不需要改动就能作为邮件系统的一部分。
4. Web客户端
Web界面Email系统的另一个重要的部分就是Web客户端,这一部分的功能将如同个人计算机中的OutLook,负责给用户提供访问自己邮件的能力。由于Web访问本身是无连接的,因此必须保证用户的安全性。基本上,安全性可以通过登录后建立的会话标识、临时目录,并在程序中进行验证来保证。
Web客户端必须以统一的方式来访问服务器,可以通过直接文件访问的方式来获得用户的邮件,或者通过POP3、IMAP等标准协议来访问。对于使用网络文件系统来共享用户邮件的系统,通过直接文件访问的方法最为直接和便利,也不需要额外的消耗。而通过POP3、IMAP协议来访问服务器,其直接的好处就是Web客户端和Email服务器相分离,提高了系统安全性。
当前,已经有一些相当成熟的开放源代码的Web客户端软件,其中IMP是采用PHP来实现的,通过IMAP协议访问服务器的Web邮件客户端软件。而WING则是采用Perl来实现的另一个Web客户端软件。这些开放源代码软件都相当不错,然而,将这些软件与自己的系统相集成,还会需要进行一定改动。此外,还应该遵循其许可要求,将改动的代码对外公开。
5. 实现负载均衡
由于需要提供给大量的用户进行访问,因此单台服务器不能满足这个需要,而必须要使用多服务器的方式。除了按照功能性进行分割之外,如Web服务器、Email服务器以及文件服务器相分离,还需要对一些资源紧张的服务使用多服务器进行负载均衡。虽然当前一些商业厂家也提出
网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
热 门 新 闻![]() 丰俭由君,AMD发烧友不 | ![]() 爱国者录音笔全国掀促销 |
| · | 丰俭由君,AMD发烧友不可错过 |
| · | 爱国者录音笔全国掀促销攻势 初战告捷 |
| · | 液显排排站“绝色”“赢家”“黑钻”逐个挑 |
| · | 领航者! 微星NX8500GT-TD512E驾到! |
| · | 巅峰对决 6款神舟3999元双核本推荐 |
| · | 视觉计算世界齐聚NVISION 08 |
最 新 本 地 信 息![]() 南充电脑城漫游记3-30[ | ![]() 内存中的战斗机 金邦黑 |
| · | 南充电脑城漫游记3-30[第八期] |
| · | 内存中的战斗机 金邦黑龙EVO游戏内存 |
| · | 性价比超群 双敏火旋风HD3650玩家版仅售59 |
| · | 再降100元 双敏火旋风HD3690玩家版降至799 |
| · | 南充电脑城漫游记3-23[第七期] |
| · | 轻薄圆润迅驰4 戴尔Inspiron1525仅售5999元 |
ZOLNC 推 荐 经 销 商![]() 就要非入耳 抛弃入耳式耳塞的4大理由 | ![]() 玩爽HTPC 近期公认超值5.1音箱大搜罗 |
![]() 超值数码:行货T61欲破万元 理光DC齐降价 | ![]() 个性解放 时尚另类设计电脑哪款更好 |
![]() 海量存储 联想天逸F41顶配本杀破万元 | ![]() 双核D刻120GB硬盘本 宏碁4520售4699元 |
| · | 阻止我的IE强行弹出广告 | · | 教你Word操作中一些很少 |
| · | Kmplayer简体中文版+ex | · | 买火车票很简单 四招搞 |
| · | 简单三招——远程共享你 | · | 新手进阶 处理Excel表格 |
| · | 酷6网率先启动了“原创 | · | 谷歌提供离线文档编辑功 |
| · | 百度渗透WiMax领域 打造 | · | 消息称谷歌将裁减15% D |
| · | 传谷歌有意收购美国最大 | · | 百度联盟角色升级 变身 |
| · | Moki小猴登场 三星YP-T | · | 死磕日系!康佳旗舰液晶 |
| · | 绝色外观!海信TLM46V69 | · | [论坛]我和长虹PT50600 |
| · | [论坛]首发!夏普32BK7 | · | 液晶面板过剩 成4月价格 |
| · | 直播RMVB电影 蓝慧真宽 | · | 滑动触摸按键 纽曼MOMO |
| · | 画质取胜入门首选 5倍光 | · | 中频表现突出! 现代HY- |
| · | 主流攀上1066 宏连新款 | · | 1460万像素 三星GX-20单 |
|