分类:
2011-12-01 23:34:09
Lite MTA是一款运行在Windows平台下面的电子邮件服务器软件。它支持标准的(E)SMTP/POP3邮件协议,适合小型企业或者个人使用, 用户方便快速的建立自己的邮件服务;你也可以把它整合进自己的产品中。
从技术角度来看,Lite MTA使用多路IO复用(IOCP)和线程池技术,这样Lite MTA就可以用较低的系统负载完成更多的工作;在磁盘操作中,系统内部99%的I/O操作均使用异步方式(极少量的文件操作使用同步方式),以充分提高系统线程的执行效率(更少的线程,更少的线程切换代价);在内存分配中,我使用了内存循环使用方式,以减少反复分配/释放系统内存造成的内存碎片。
由于采用IOCP技术,在多核计算机中,Lite MTA可以充分利用多核CPU的优势,而非一些传统的MTA那样仅仅可以利用一颗CPU,而让其他CPU核心处于空闲状态。
在结构上,Lite MTA和传统的MTA程序有很大的区别,我借鉴了Postfix的设计思想,采用独立进程交互结构;每个进程独立运作,使用队列文件和IPC消息进行通讯。这样设计的给Lite MTA带来了很多好处:
1)更容易调试:采用独立的进程模块,互相协作完成邮件传递工作,由于每个进程的功能有限,所以调试容易。
2)稳定程度更好:主进程直接监控所有的独立进程,一旦独立进程因为意外因素(程序编写错误/恶意攻击等等)而崩溃,主进程会在10秒后自动重新启动崩溃的进程。这样Lite MTA可以继续工作。
3)与其它MTA协同工作:独立的进程模块可以让Lite MTA和其他MTA配合,专门承担MTA中的某项角色(邮件接收服务前端/邮件投递后端)。
目前它已经实现了基本的功能,我也已经测试过了和Exchange Server(@Windows)/Sendmail(@FreeBSD)的连通性;同时测试了市面上主流的邮件客户端:Outlook Express/Outlook/Windows Live mail/Foxmail/The Bat!/fetchmail等。
它支持如下特性:
•本地邮件用户的保存。
•远程邮件用户的转发。
•支持RFC822地址规范。
•支持地址重写。
•支持邮件路由(RFC974)。
•支持增加/修改/禁用邮件用户。可以修改邮箱的大小。
•支持Outlook Express,Foxmail,The Bat,Windows Live Mail,fetchmail等流行的邮件客户端软件
•支持日志,而且日志级别可调。
•POP3D支持APOP命令.
•支持别名, 转发(forward).
支持的RFC标准:
•RFC821, RFC822, RFC974, RFC1939。
•POP3D支持APOP命令。
希望大家喜欢!如果有你有任何好的建议,可以随时给我发送邮件或者是留言。
LiteMTA V1.0 RC1 For win32.zip