Web.py 项目介绍:iRedMail 开源邮件服务解决方案的管理后台程序

iredmail homepage在介绍这个管理后台程序之前,得先介绍一下 iRedMail 项目。

iRedMailhttp://www.iredmail.org/)是由 张煌彬(@michaelbibby) 开发的一套 bash shell 脚本,使用它可以在2分钟内搭建出一套功能完善、完全使用 linux/bsd 发行版官方提供的开源软件搭建的邮件服务器。目前该项目已运作了近3年时间,有许多成功案例,包括 ISP 级的部署案例。具体可以看官方页面: http://www.iredmail.org/stories.html

网络上提供的基于文档的开源邮件方案不少,但整合度、功能完善程度、社区技术支持,都远无法达到 iRedMail 的程度。并且,由于大家都使用同一套脚本部署,软件环境几乎都一样,你碰到的问题,可以很容易被定位和解决。

正是由于有了 iRedMail 这个统一的邮件系统部署方案,才有可能开发出一套管理后台来管理邮件系统。这也是其它方案所无法达到的。

在这里可以看到 iRedAdmin 的截图: http://screenshots.iredmail.googlecode.com/hg/iredadmin/

iRedMail 开源邮件服务解决方案的 web 管理后台名为 iRedAdmin,使用 web.py 编写,涉及的主要软件和 python 模块有:

  • Apache: 老牌 web 服务器。稳定可靠 mod_wsgi:Apache 模块,python 的 WSGI 接口。
  • Python- LDAP:用于连接和操作 OpenLDAP。
  • Python-MySQL:目前仅通过 web.py 自带的数据库模块来简单地记录日志信息到 MySQL 数据库中。
  • Jinja2:模版引擎。语法清晰、功能强大。

除 了 web.py 的基本功能之外,iRedAdmin 还使用到了 web.py 自带的 session 模块,database 模块。

session 模块用于保存管理员登陆期间的会话信息,database 模块则用于记录管理员的所有重要操作,包括邮件帐号的增删、修改。后期还将用于保存在 MySQL 数据库中的黑白名单等数据的增删修改操作。

最初决定使用 web.py 是考虑到它较简单,容易上手和快速开发出小规模应用,并且自带的 session, database 模块也挺方便。

目前的 iRedAdmin 管理后台只支持管理存储在 OpenLDAP 里的邮件帐号,现在已经着手开发支持 MySQL 的版本。但 MySQL 版涉及到大量的 SQL 操作,可能会考虑使用 SQLAlchemy 代替自带的 web.database 模块。同时由于代码不断增加,也考虑使用 Django 来代替 web.py,使用 Django 内建的一些功能来。

iRedAdmin 分为开源版和 iRedAdmin-Pro 付费版($99),二者的区别主要是功能的不同。有兴趣的朋友可以看这个对比页面:http://www.iredmail.org/admin_panel.html

Anyway, 祝 iRedMail 项目和 iRedAdmin 这个 webpy 项目越来越好。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。