Lumi邮件服务器是一个基于微软.NET技术的邮件服务器,它使用C#语言实现,支持SMTP、POP3和IMAP协议的全部基本功能以及一些高级特性。服务器的一个特别有趣的功能是“回收站”的实现,所有被删除的邮件都会进入回收站,管理员可以从中恢复这些邮件。
邮件服务器还提供了.NET API,开发者可以使用它来执行各种操作(邮件服务器的用户界面就是基于这个API 100%开发的)。目前,服务器可以在Windows和Linux(使用Mono)上运行,但用户界面目前仅在Windows上可用。不过,这不是问题,因为邮件服务器的用户API通过TCP工作,这意味着可以在一台计算机上运行服务器,在另一台计算机上运行用户界面。
服务器被设计为组件化。SMTP、POP3和IMAP被编写为可重用的.NET组件,可以独立于邮件服务器使用。邮件服务器只是使用这些组件来实现完整的服务器功能。
服务器还分为两个部分:一部分是实现所有功能,除了对象(用户、域、消息等)的存储和获取;另一部分是服务器内部API。服务器内部API被定义为接口,因此实际上任何人都可以开发并插入他们自己的服务器逻辑,而不需要太多努力,也不需要了解SMTP/POP3/IMAP的细节。
默认情况下,包括了三种API:XML(所有对象存储到XML,消息存储到文件系统)、MSSQL和PGSQL。还有更多的功能,这里无法一一列举,如果这些听起来很有趣,只需获取源代码并开始探索。