Chinaunix首页 | 论坛 | 博客
  • 博客访问: 314138
  • 博文数量: 118
  • 博客积分: 313
  • 博客等级: 二等列兵
  • 技术积分: 615
  • 用 户 组: 普通用户
  • 注册时间: 2011-11-12 22:51
文章分类

全部博文(118)

文章存档

2012年(68)

2011年(50)

分类:

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   

 

阅读(808) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~