September 14, 2005

mail address Autocomplete - 邮件地址自动补齐实现

GMail正如google其他服务一样,是富有创新的产品,新一代的电子邮件服务。领先的界面体验和贴心的功能,使用户真正在使用电子邮件,而不是靠界面或花哨的功能吸引客户。

第一次试用GMail时惊叹GMail的两大特色:

后来,GMail的相关软件和第三方工具就由爱好者大量地开发出来了,在CPAN上有不少GMail的工具模块,但最想找到的还是自动补齐的实现,毕竟从头自己来做,工作量可真不小。

这两天碰巧在一个eba(企业级别商业应用程序)的网站上看到了demo,又发现了一些用户的评论,于是就“拿来主义”,测试了一下,感觉效果还可以。后又在google上找到一些其他的自动补齐的实现,最后选了一个较好的,作为目前webmail的测试版自动补齐。

为了提高速度,我对js程序进行了大量的修改,将原来的14.5K的体积压缩到9.2K,并修补了几个bug,并增加了列出全部地址的快捷键。截图见下:

webmail-autocomplete2.gif

要实现自动补齐,其基本的设计思路我认为是这样的:

在这个过程中,自己增加了一个快捷键“空格(space)”,程序将检测是否有合理的空格输入,如果有则显示所有的邮件地址。

Posted by hzqbbc at 08:30 PM | Comments (4)

September 06, 2005

Webmail Bigpicture - Webmail的结构图

extmail_bigpicture.gif

注意:

该图将webmail的3个层次(UI/模板,应用,底层操作)展示了出来,并标明了一些重要的模块,但模块之间的工作和相互调用,由于关系复杂,如用线条标记将影响美观和视觉,因此这里没有标记出相互调用的关系。

深红色边框的内容代表了核心模块,负责最低级的操作,包括磁盘I/O,邮件解析,HTTP请求处理等。

兰色边框的内容表示应用层模块,负责高层应用,如收/发邮件,表单处理,模板调用和处理,登陆及个人设置等应用层面的功能。

黄色背景的方块表示关键模块,这些模块在整个webmail中至关重要,使用的频率最高,webmail高效,扩展性高等优点大部分都依靠这些模块实现。

兰色背景方块表示主要的应用模块,即收/发邮件模块

浅红色背景方块表示的是底层模块和应用模块的衔接模块(或插口对接模块)App.pm,它是连接上层应用和底层实现的桥梁。目前webmail只有这一个插口对接模块。

Posted by hzqbbc at 12:42 PM | Comments (0)

September 05, 2005

Webmail distribution plan - Webmail发行计划

Webmail的开发今天为止已接近了95%的进度了,可以开始筹备发行的事情了,粗略想了一下,大致的发行流程有如下几点:

.....

此外,配套的一些工作也需要加紧完成,大致包括了:

如果有任何的建议或批评,请在本页下方留言。

并希望能通过webmail这个项目,带动国内搞email方面的朋友,并提高大家的合作水平,并且逐步摆脱老纠缠于安装配置和一些很初级的应用局面。:)

Posted by hzqbbc at 09:08 PM | Comments (0)

September 04, 2005

Webmail Test invitation - 征集webmail测试人员

按预定计划,测试版的webmail开发目前已完成了90%以上的代码和功能了,剩余的是一些小的修补和完善。

因此,为了正式的发行,必须进行大量的测试和人机界面的设计,用户的需求分析、网站建设等工作。

希望看到本文的朋友大力支持,并在此征集测试人员数名,以测试该webmail软件的兼容性、性能和功能及界面等各方面情况,力图打造一个具有较高水平的开源软件,与国际接轨,不要让老外看不起我们,尤其不能输给小日本:-)

具体的测试内容包括:

结束语

希望通过webmail的开发/发行/维护/更新/优化等一系列软件产品的实施工作,逐步锻炼出一支经验丰富、素质高,能与国际水平开齐的开源软件开发、维护队伍。

这个目标虽然高了点大了点,但正所谓事在人为,没有不可能的事,按目标按计划按部就班的一点一点实现,总是有所得的,至少软件工程的思想和各种实际能力会大幅度提高,希望有兴趣的朋友积极参与。

联系: MSN hzqbbc (a t) hotmail.com 或 QQ 27914407
邮件: hzqbbc (a t) hzqbbc (dot) com

Posted by hzqbbc at 01:22 PM | Comments (0)

August 31, 2005

Webmail dev status - 8月31日webmail开发进度小结

由于抓紧时间设计并实现编码,一直没时间将webmail的开发情况发布在blog上,现在真的是体会到时间不够用的感觉!:-)

大体上webmail开发基本按设计的进度和功能实现了。原计划10月推出1.0,按现在的状况看,由于前些日子家里出了一些事,耽误了一些时间,因此要推后15-25天左右。

截止今天为止,webmail已经完成或实现了如下的功能:

模板方面计划仍坚持清爽简洁的风格,尽量少的增加html代码,以提高加载速度。图片也将尽量地减少。

计划9月1,2日将基本完成多语言/多模板的设计和实现。

Posted by hzqbbc at 03:32 PM | Comments (0)

August 08, 2005

New webmail dev - 新webmail正式动工开发

计划多时的webmail系统已经正式启动并开始coding了。这个项目以GPL版权释出,使用perl语言编写,其主要的目的是要设计一个适应当前高速发展的IT应用环境,满足用户多变的需求,能快速进行开发、改进和升级,适应能力强的webmail系统,而次要的目的是设计一个能够替代目前国内外最流行的webmail软件:SqWebMail,OpenWebmail及squirrel,Igenus等。详细的分析见下文。

Why Perl?

为什么使用perl语言呢?因为这两年我做过多次测试,对于Maildir++的webmail系统而言,操作最多的I/O动作,以c速度最快,perl次之,而php慢了很多,有时耗费的时间是perl的10-100倍不等。

其次,php不同版本之间的api变动比较大,而perl变动小,perl5以后95%以上的核心api没有大的变化,程序兼容性强。php则有一些升级的问题。

最后,c的开发速度慢,不便修改,perl兼顾了php开发速度快和c性能较好的优点。所以我计划使用perl。

Webmail 特性介绍

该webmail系统暂定名为extmail,也曾考虑过其他名字,如ALTwebmail, lightwebmail等,但一直想不出好名字,希望朋友们给我一点好建议,想一个好的名字,设计一个好的logo,帮助这个软件发展。

extmail目前1.0之前计划的有别于其他流行webmail的特性主要有:

当前开发状态

extmail 因一些事停滞了半年之久,现在已纳入正式的开发日程里。目前已基本实现了如下的模块/功能:

结束语

希望看到本文的朋友支持我的工作,并给予意见和鼓励,乃至帮助,有兴趣加入开发的朋友可以直接回复本文。按目前进度,争取10月份发布1.0

Posted by hzqbbc at 09:04 PM | Comments (7)

July 05, 2005

OpenSource APF Server Plan - 开源(GPL) APS计划

APF 项目已经运作了1年多,基本达到了测试的目的,目前的使用状况已经比较稳定了。随着垃圾邮件的日益泛滥,以及对电子邮件服务器功能上要求的增加,迫切需要一种能实现诸如精确的邮件收/发控制,频率控制,集成多种技术的方案。

我已决定将目前运营的APF Server系统进行改造,开发出OpenSource版本的APF Server(简称APS-oss),以GPL版权释出。

APS-os 计划拥有如下的基本特性:

o.支持qmail, sendmail, postfix 其中对postfix提供最完善支持
o.支持中等精度的访问控制(ACL)可实现内/外网,限制进出等高级功能
o.支持简单的频率控制,未来提供自动封缩/解封ip技术
o.内置APF client代码,支持APF服务器规则集
o.支持accept-fork模型,后期考虑支持多路复用
o.可选支持thread

....更多特性

在支持特性中,APF client代码将融入一些APF Server运营系统中的特性,如简单的MX/IP 校验,来信ip/域名的猜测/侦测,自动频率控制,甚至是per host/domain/sender的频率控制等。并提供一定程度cache机制,例如识别结果缓冲,dns缓冲等,以提供尽可能高的性能。

APS-os 采用纯perl编写,如果采用多进程模式的话,对于一个中等流量的邮件服务器来说,完全是可以应付的。对于高流量的邮件服务器,可以使用多路复用或thread版本的APS-os,但thread版的稳定性无法得到很好的保证。需要更多的测试。

目前该项目已经纳入开发计划中,等基础资源具备后,就准备开始。......

希望大家支持。。现在缺的东西还很多,服务器,带宽,一点点开发费用,美工LOGO设计等... :-(

Posted by hzqbbc at 10:47 AM | Comments (0)

May 03, 2005

Ad2disk项目相关帮助内容

Ad2disk项目自推出以来,已有不少人申请并开通。但随这而来的是技术支持的问题。以下将一些常见问题及解决方法罗列出来,希望对Ad2disk项目成员有所帮助。

* 本站提供的基本服务
* FTP的使用及相关注意事项
* 数据库使用的注意事项

基本服务说明

空间支持特性
默认系统分配100MB的空间,该空间支持PHP/HTML,对于需要cgi支持的申请人,需要额外提出申请,系统默认不带CGI支持。CGI申请通过后即可根据配置使用,而且也是免费的。

注意事项: 开通空间后,通过ftp登陆会发现有3个目录:log、ftp及html,主要用途是:

  • html是存放网页的根目录

  • ftp目前暂不提供用途

  • log存放系统日志,不能随意删除
  • 此外,由于系统是Unix系统,因此区分文件名大小写,请用户注意文件名的大小写问题。

    例如某帐号对应一个域名http://abc.hzqbbc.com,那么如果将一个叫test.html的文件上载到html目录里,那么访问的地址将变成:http://abc.hzqbbc.com/test.html了。

    域名指向问题
    如果申请人没有自己的域名或免费域名,本站可以免费提供一个xxx.hzqbbc.com的域名。原则上ftp用户名与该二级域名xxx部分一致。如申请人有自己的域名或国际域名,本站可提供正确指向。

    CMS/内容管理系统问题
    有部分申请者不熟悉如何使用php/perl开发的内容管理系统,bbs软件等,因此本站提供基本的CMS及相关配套软件使用,免除了用户的安装和调试麻烦。

    CMS(个人主页系统/内容管理系统)会采用MovableType 3.1x/2.6x版本。其中2.6x版本支持中文,但缺乏一些新功能,而3.1x目前只有英文版,但提供了更强劲的功能。MT的使用方法可以参考如下链接:
    http://mtbook.net
    Jedi's blog

    当然官方的MT手册是最优秀的教程。

    FTP使用方法及注意事项

    Leapftp使用方法:
    http://www.chinadds.com/support/learn00201.asp (这个稍微简单了点)
    http://cpatch.org/yangnan/is/leapftp/leapftp.htm (这个是台湾的,较详细)
    http://vip.zccn.net/help/HelpLeapFTP.asp (这个简体帮助,较详细)

    CureFTP使用教程之一:
    http://xz6.2000y.net/mb/2/ReadNews.asp?NewsID=184461

    数据库使用指南

    本站提供的数据库类型是MySQL,web管理后台地址是:
    http://www.hzqbbc.com/mysql

    每个申请mysql支持的申请者都将被分配一个单独的用户名,密码由申请人提供,并且限制了存取的权限,只下放了指定数据库的全部操作权限,对其他人的数据库没任何存取能力。

    详细的使用请查看phpmyadmin的手册或官方网站:
    http://phpmyadmin.sourceforge.net

    Posted by hzqbbc at 06:49 PM | Comments (2)

    April 30, 2005

    2005年计划要写的文章和系列文档

    今年除了要大力开发opensource软件及一些应用项目外,文章和文档其实也不能忽视,感觉今年真的很充实!

    Documents主要将涉及程序开发及测试,软件配置等。如perl, c, 性能测试,Email system等。

    邮件系统性能测试

    类型:Opensource/Commerical GPL
    描述:一直以来,有关邮件系统的性能/稳定性的测试和评比,Internet上都没有一个较为全面的方法和叙述,有的也是商业软件或需要付费的测试,如SPEC的email benchmark则需要几千美金。文章将叙述我所使用的一些手段及方法,对邮件系统的测试和评比。

    备注:主要将涉及postal(smtp/pop3)及I/O分析,以及自己计划开发一个webmail的测试工具。

    Postfix 运行机制分析

    类型:GPL 公共创作License
    描述:研究Postfix也有几个年头了,其运行机制也应该整理一下,对理解透彻很有好处。本文将以我自己有限的认识,来试图阐述Postfix的运行机制及工作流程,各模块之间是如何协作,以及Internal Protocol。

    备注:需要参考Postfix atomy及source。

    Website Optimize for Google

    类型:GPL 公共创作License
    描述:介绍如何优化网站,使网站更容易被Google收录及搜索,这里主要涉及到页面设计、内容设计、关键字等方面的基本技巧。

    设计适应所有浏览器的网站

    类型:GPL 公共创作License
    描述:介绍/翻译 如何设计一个能适应所有浏览器的网站,从样式CSS,到色彩,到图片,表格乃至帧/cookie/javascript等。

    主要参考http://www.anybrowser.org/campaign/abdesign.html

    ........ (To be continue)

    Posted by hzqbbc at 09:31 PM | Comments (3)

    April 21, 2005

    Ad2disk 计划内容

    注意事项

    Ad2disk 计划当前版本: alpha
    本文所描述的内容在Ad2disk发布1.0版本前将有少量变化,敬请注意。

    Ad2disk 详细内容

    本站推出Ad2disk免费空间计划,凡对网站空间/ftp空间有需求但却苦于费用不足的朋友,均可申请。本计划的核心宗旨是申请人利用自身网站的流量换取网站空间的租用。

    我们提供的免费服务:
    1.默认初始100MB大小的空间,随着网站流量的增加,可逐步提高空间大小及服务内容,如增加数据库空间,安装额外不影响系统安全及稳定的软件或更高级服务。

    2.初始提供PHP及CGI支持,或可免费申请htaccess支持、MySQL数据库的支持。

    3.可根据需要,提供Blog、BBS、访问统计/分析软件支持,包括安装和一定的技术支持。

    4.如果用户有国际域名,可解析至本空间(*)

    客户的义务:
    1.与供应商协商,在网站较显著位置放置供应商给定的广告。
    2.优化网站,尽量提高网站的流量,同时尽量少的占用资源,以尽量提高访问速度。

    升级/降级制度:
    1.如客户的网站开通后,流量逐步上升,则可根据需求与供应商协商增加空间或资源,甚至安装特殊软件/服务。
    2.如客户网站在1个月内流量下降到小于100个page view /日(以广告展示次数统计为准),则将该客户网站空间减少30%,下月再以此规则计算,逐步至取消空间使用权力为止。
    3.经过与供应商协商,特殊情况者可免予空间停止或获得特殊照顾。

    我们的优势:
    1.服务器位于中国网通核心接入层,2G直通北京国际出口,不限流量。
    2.使用原装高速服务器,所有空间均有1+1实时保护(RAID1)
    3.特色:区别于一般免费空间只提供二级域名,我们支持国际域名解析!
    4.专业的web/邮件技术支持,包括技术支持论坛,客户的问题可方便解决。
    5.用户可申请本站提供的免费二级域名做临时地址,日后可申请国际域名替换之。

    申请方法
    通过电子邮件方式申请。申请者需要提供如下内容:
    1.网站名称及用途/类型(如个人主页,摄影,下载,mp3,论坛等)
    2.申请者信息(包括qq/msn/email,如需技术支持请留电话或真实姓名)
    3.网址,如有国际域名需解析请做强调,如无网址可申请二级域名,本站代为指向
    4.需求的初始空间大小及用途、理由
    5.申请的ftp用户名及密码

    申请通过后,用户会收到确认信,包括使用说明和注意事项。如一直收不到确认信,请qq/msn联系。

    联系方式.

    QQ: 27914407
    Email: Ad2disk (at) hzqbbc (dot) com
    或 hzqbbc (at) hotmail (dot) com

    Posted by hzqbbc at 12:40 PM | Comments (17)

    April 16, 2005

    2005年计划的项目列表(TODO)

    今年是大力发展开源软件的好时机,而且很多自己的构思都想了好几年了,一直没法实现,现在能够有时间静心来做,确实是挺值得庆幸的。

    2005年是我的开源项目年。计划要做的大多数都是开源的项目,只有少数是commerical的。为什么OpenSource?因为我们从OpenSource中获利,从OpenSource中吸取了营养,理应回馈社区,况且开源的模式更利于软件的发展,毕竟:只有一个人是不行的。

    以下是今年的TODO List:

    Extmail

    类型:开源软件,暂定GPL授权
    描述:一套开源的webmail系统,使用perl编写,计划中的特色包括了:

    备注
    该项目是2005年的重点,目前已实现了1/2的核心功能模块,可实现简单的阅读邮件功能,并实现了诸如基本的cache及邮件解析等基础功能。目标之一是希望能够代替sqWebmail,克服sqwebmail定制麻烦,修改困难的缺点,同时又要克服perl的cgi速度慢的问题。

    诚挚的希望有朋友愿意一起合作开发。联系方式:hzqbbc at hzqbbc (.) com

    Concurd

    类型:暂时不提供source
    描述:一个perl实现的并发连接统计程序,主要用途是给MTA增加并发统计的功能。该项目提出一套简单的协议,可以实现对不同ip的SMTP客户端的连接频率,发送次数进行统计、查询、限制等。并能接受自定义的上限。

    备注:目前已基本开发完毕,0.01 alpha版本。使用了Poll技术,使并发性能更强,并可以支持将统计信息写入dbm的功能,支持BerkeleyDB 0.25/26及事务等功能。测试表明可以支持超过200个并发/秒的统计。工作于单进程模式。

    APF Server

    类型:商业软件
    描述:一套实现APF规范/协议的反垃圾邮件服务器。在原有基础上,进行大幅度改进,包括提高对MSPF,SPF及Domain key的支持,改善各种规则的准确度。增加完善的管理后台等。

    备注:目前版本只有简单的管理工具,还不够成熟。处于beta状态。

    APF client

    类型:开源软件,暂定GPL授权
    描述:APF client是一系列的MTA支持软件,目前包括:qmail/postfix/sendmail。通过APF client可以使这些MTA使用APF Server所提供的全部功能。并实现了大量高级功能,如高级访问控制(常规的内/外网功能),限制并发,自定义黑/白名单,识别伪造来信等反垃圾邮件功能,还可自定义灰名单(grelylist)功能。

    备注:目前APF-sendmail, APF-qmail, APF-postfix 的实现都已完备。正在筹划下一版的大改进。

    Policyd for Postfix

    类型:开源软件,暂定GPL
    描述:基于APF server技术的开源策略服务器,专门针对Postfix MTA。可以实现SPF,Greylist,MSBL,自定义黑/白名单及并发统计(需要配合concurd)等高级功能。使用c语言及perl编写。

    目前该软件只具备原形,尚未发布。

    tcp_table for Postfix

    类型:开源软件,版权未定
    描述:将snapshot版的postfix tcp_table代码backport 到stable postfix版本里,并进行改造,增加对unix domain socket的支持,并提供一个框架,实现大部分table 查询的网络化传递。优点是可以将各种信息都保存到其他机器上(如运行mysql/ldap的机器,甚至保存在DBM里!)。作为超大规模邮件系统的基石之一。

    备注:目前只进行了原理性研究和测试,使用perl编写了原形,未正式开始项目。

    postfix perl admin

    类型:开源软件,暂定GPL版权
    描述:基于webmin的postfix 邮件系统管理软件,主要实现了用户管理,别名管理,自动回复管理(*),系统黑/白名单等管理。目标是提供一个perl版的postfixadmin实现。

    备注:尚位开工。

    My Photo gallery (perl version)

    类型:开源软件,GPL授权
    描述:一个可实现多用户管理的免费电子相册,利用ImageMagik软件包提供的功能,实现图片放大缩小及缩略图,提供“评论”,点击统计,多目录访问,限制访问及图片的EXIF信息显示等多种功能。计划不使用数据库,而只使用文本或DBM保存信息。

    备注:尚位开工,EXIF的模块基本开发好了,并提供了各种数码相机的焦距与35mm标准相机焦距的转换功能。

    Mail2Oversea

    类型:商业软件
    描述:在越来越严峻的Spam和Anti-spam的国际大环境中,国内要往外发邮件变得越来越困难,尤其是很多外贸的商业用户,要利用国内的免费邮局或自建服务器外发邮件到欧、美等地,遇到了极大的阻碍:黑名单!

    为了实现顺利的外发,我们提出了一种国际邮件的转发业务,使用了一种折中的办法,使用户只需支付较低的成本即可实现邮件外发到海外受阻的网站/公司。

    备注:该服务正在筹备中,暂不公开提供,如需测试,请与我们联系, contact info: hzqbbc at hzqbbc (.) com

    Posted by hzqbbc at 09:36 PM | Comments (0)