使用QMailadmin实现QMail邮件账户的Web管理
来源:云南设计港 发布时间:2007-08-22 13:40:00
硬件环境:HPNetserverE60128M内存单网卡
软件环境:
Redhat6.2
vPOPmail4.9.4
QMail1.3
MySQL-3.23.22-beta
ucspi-tcp-0.88
QMailadmin-0.38.tar.gz
autorespond-1.0.0.tar.gzezmlm-idx
本文介绍如何采用Web方式实现对邮件用户的管理,而避免了每次添加用户都需要登录到邮件服务器的麻烦。Inter7开发了遵从GPL版权的QMailadmin来实现这个功能。
要使用该软件,邮件服务器的上必需运行有Apache的WWW服务器。
1、下载必需的软件包
QMailadmin提供的功能必须在实现了虚拟域及虚拟用户的账号的Web方式以后,才能进行,如果你在服务器上还没有实现"通过vPOPmail实现QMail邮件账户的数据库管理",则请阅读该文章,并完成了虚拟域及用户的配置以后才能开始本文的工作。要实现QMailadmin的功能,需要下载下面新的软件包:
QMailadmin0.38.tar.gzhttp://WWW.inter7.com/QMailadmin/
autorespond-1.0.0.tar.gzhttp://WWW.vPOPmail.cx/autorespond-1.0.0.tar.gz
autorespond用来支持实现邮件的自动回复,例如您的电子邮件地址为ideal@com.cn,由于您最近出差,不能及时回复收到的邮件,则你可以使用该软件包实现邮件的回复,当结合使用QMailadmin时,原理如下:
当使用Web管理界面指定对某个用户(如ideal)指定邮件自动回复,则在该用户所在的域内,创建一个文件名字为.QMail-ideal.
下面我们首先讨论QMail的邮件投递机制:
QMail的投递机制为:当接受到一个信件后,由QMail-lspawn控制邮件投递机制;它首先察看QMail-users机制(QMail-users是一个给用户指派-assign-地址的系统),若收信人地址没有定义在assign文件中(/var/QMail/assign参阅LifewithQMail的3.6QMail-users)则激活QMail-getpw程序,然后调用QMail-local来实现本地邮件投递。QMail-local首先试着投递邮件到localpart@host的地址,其中localpart为本地用户名。若没有找到,则进一步察看/var/QMail/alias中定义的别名,若存在对应的别名则投递邮件到别名对应的用户目录下,否则退回邮件。
若按照QMail-users机制在assign中找到对应于邮件目的地址的规则,则从users/assign得到相关信息,然后进行标准的.QMail文件操作。一般来说,.QMail-文件被用来完成邮件转发、别名或调用其他程序如ezmlm等进行处理。若没有找到匹配,则QMail-local查找.QMail-default文件,这是QMail-local邮件投递机制中最后一步。VPOPmail利用该文件来调激活vdelivermail程序,该程序以两个参数被调用,第一个当前没有作用,主要是用作向后兼容的;第二个参数是用来在一个虚拟域用户没有被找到时的缺省投递,一般来说,缺省投递可以是将邮件投递到某个目录或某个邮件地址或返回无此用户的返回信件(第二个参数若为bounce-no-mailbox,则返回无此用户的信件;若第二个参数为/home/vPOPmail/domains/domain.com.cn/0/test,则当没有对应于邮件投递目的地址时,该邮件将被投递到test@com.cn的用户)。
从上面的机制中可以看到,通过QMailadmin为ideal用户创建邮件自动回复时会在用户所在的域目录中(如:/home/vPOPmail/domains/domains.com.cn中创建.QMail-ideal文件,当.QMail-local进入assign处理以后将会首先进行标准的.QMail文件操作,所以将会根据该文件进行邮件自动回复。现在我们看看.QMail-ideal的文件内容:
|/usr/local/bin/autorespond100005/home/vPOPmail/domains/domain.com.cn/AU
TORESPONGDING/message/home/vPOPmail/domains/domain.com.cn/AUTORESPONGDING-&ideal@net.cn
其中|表示调用一个程序来处理该邮件这里是调用autorespond来处理;10000表示允许处理信件的总时间;5表示在这段时间内的最大邮件数;
/home/vPOPmail/domains/domain.com.cn/AU
TORESPONGDING/message指示自动回复的邮件内容的消息文件;
/home/vPOPmail/domains/domain.com.cn/AUTORESPONGDING指定log文件位置。其中&ideal@nte.cn表示同时将邮件转发给&ideal@net.cn,也可以在添加自动回复时不指定转发。
ezmlm-0.53.tar.gzhttp://WWW.ezmlm.org/
ezmlm-0.53是一个由DanJ.Bernstein编写的基于QMail的邮件列表管理软件,它具有邮件列表管理器所应该具有的所有基本功能,例如订阅者地址列表管理、自动消息退回处理和消息发布和归档等等。
2、QMailadmin的安装配置选项
在编译该软件包以前,需要根据自己的需要对软件包进行编译配置,下面我们就讨论所有的配置选项含义如下(配置选项的使用方法为:./configure
conf_option=chosen):
若您的服务器的cgi-bin不在标准的位置,则使用该配置选项指定正确的cgi-bin目录的位置:
--enable-cgibindir={dir}WWW服务器的cgi-bin目录路径
若您不希望邮件管理界面的HTML模版存放在/usr/local/share/QMailadmin,则使用该选项:
--with-htmllibdir={dir}QMailadminHTML模版存放目录路径
若您的QMail路径不是缺省的/var/QMail,则使用该选项指定正确的QMail安装路径:
--enable-QMaildir={dir}QMail的安装路径
若访问WWW服务器时的cgi-bin路径不是/cgi-bin/cgi_program则需要指定该配置选项:
--enable-cgipath={/cgi-bin/QMailadmin}
若vPOP用户不是缺省的vchkpw用户,则使用该选项指定正确的用户名:
--enable-vPOPuser={vPOPuser}
若autorespond安装路径不是缺省的/user/local/bin,则使用该选项指定路径:
--enable-autoresponder-bin={path}
若ezmlm安装路径不是缺省的/user/local/bin/ezmlm,则使用该选项指定路径:
--enable-ezmlmdir={dir}
若希望限定系统的最大POP用户数量则使用该选项指定:
--enable-maxPOPusers=unlimited-1为没有限制,0则是关闭该功能使用该选项指定系统的最大别名(alias)数:
--enable-maxaliases=unlimited-1为没有限制,0则是关闭该功能使用该选项指定系统的最大邮件转发(forward)数:
--enable-maxforwards=unlimited-1为没有限制,0则是关闭该功能使用该选项指定系统的最大邮件自动回复(autoresponder)数:
--enable-maxautorepsonders=unlimited-1为没有限制,0则是关闭该功能使用该选项来设定系统最大的邮件列表数量:
--enable-maxmailinglists=unlimited缺省为没有限制。
3、QMailadmin及相关软件包的编译
autorespond的编译生成:
[root@mailsrc]#tarxvfzautorespond-1.0.0.tar.gz
[root@mailsrc]#[root@WWWsrc]#cdautorespond-1.0.0
[root@mailautorespond-1.0.0]#gcc-Wall-oautorespondautorespond.c
[root@mailautorespond-1.0.0]#cpautorespond/usr/local/bin/
ezmlm的编译生成:
[root@mailsrc]#tarxvfzezmlm-0.53.tar.gz
[root@mailsrc]#cdezmlm-0.53
[root@mailezmlm-0.53]#make
[root@mailezmlm-0.53]#makeman
[root@mailezmlm-0.53]#makeseup
QMailadmin的编译生成(这里是按照前两篇文章的缺省安装进行配置的):
1
[root@WWWQMailadmin-0.38]#./configure--enable-cgibindir=/usr/local/Apache/cgi
-bin/--enable-cgipath=/cgi-bin/QMailadmin
2
[root@WWWQMailadmin-0.38]#makeclean
3
[root@WWWQMailadmin-0.38]#make
在进行make这一步时,可能会出现如下的错误:
gcc-g-O2-oQMailadminQMailadmin.oalias.oautorespond.oforward.omailinglist.osysadmin.ouser.outi-l.oauth.otemplate.ocommand.oshow.ocgi.olimits.
odotQMail.o-L/home/vPOPmail/lib-lvPOPmail-lnsl-lm-lcrypt
/home/vPOPmail/lib/libvPOPmail.a(vauth.o):Infunction`vauth_open':
/usr/src/vPOPmail-4.9.4/vauth.c:59:undefinedreferenceto`MySQL_init'
/usr/src/vPOPmail-4.9.4/vauth.c:61:undefinedreferenceto`MySQL_real_connect'
......
你需要使用vi修改/usr/src/QMailadmin-0.38/Makefile文件,将:
COMMONLDADD=-L/home/vPOPmail/lib-lvPOPmail
修改为:
COMMONLDADD=-L/usr/local/lib/MySQL/-lMySQLclient-L/home/vPOPmail/lib-lvPOPmail
注:"/usr/local/lib/MySQL/"为你按照缺省路径安装MySQL时的路径,若你的系统将MySQL安装在别的路径,则需要在这里指定正确的MySQL库的安装路径,即寻找libMySQLclient.a的路径
4
[root@WWWQMailadmin-0.38]#makeinstall-strip
猜你喜欢
- 如果你已经购买了一款服务器,但仍然觉得其“动力”不够强劲,不妨试试下面列出的几个办法,许多情况下,它们往往能够起到事半功倍的效果。1.增加内
- 漫画/张建辉在深圳给什么公司打工收入最高?华为一直是网络和媒体热炒的对象,如今,腾讯已成为其强有力的竞争者。昨日下午,香港上市的腾讯控股发布
- 给文件夹设置权限一删除所有的Everone权限,包括:所有磁盘根目录C:\WindowsC:\Documents and SettingsC
- 为了更好的倾听用户声音拓展产品开发思路,Discuz!开发团队同时在官方论坛单独撰文,公布下一个版本的部分功能预告供用户讨论。Discuz!
- Centos7+Nginx1.11.7+MySQL5.7.16+PHP7.1.0+openssl-1.1.0c一、linux 系统限制配置1
- 最新消息,康盛创想(Comsenz)旗下核心产品UCenter Home(简称UCHome)当前应用站点已经超过15万家。UCenter H
- 足球可以功夫,熊猫可以功夫,奥运网站为什么不能功夫?在华中师大,一群自称“13侠”的大学生办起了一个以奥运为主题,却颇有武侠味的“奥林客栈”
- 通常地,大多数Web站点的设计目标都是:以最易接受的方式,为访问者提供即时的信息访问。在过去的几年中,越来越多的黑客、病毒和蠕虫带来的安全问
- 具备内置 Web 与虚拟化技术的 Microsoft Windows Server 2008 使企业能够大幅提升其服务器基础架构的可靠性与灵
- IIS安全安装 要构建一个安全的IIS服务器,必须从安装时就充分考虑安全问题。1. 不要将IIS安装在系统分区上。2. 修改IIS的安装默认
- 对于研究SEO(搜索引擎优化)的朋友来说,都喜欢研究收集整理一些SEO工具。有些SEO工具是查询性质的,也有一些黑帽性质的,秦爱在这里给出的
- V5MALL全线免费,再推网上商城炙不久之前相续在上海豫园商城、青岛特色街取得辉煌战果的上海威博网络技术有限公司,再其V5SHOP网店系统开
- 自从百度搜索算法变过之后到现在也有一段时间,百度7、8月份可真是风云大变换,强烈程度可谓波澜壮观啊,反响程度也许不亚于汶川大地震((*^__
- 新闻出版总署将在年底前对网络游戏前置审批和运营情况进行一次全面摸底和清理,凡未取得具有网络游戏经营范围的互联网出版许可证的企业,一律不得从事
- IIS服务器出错的原因是复杂的。象服务启动失败、IIS进程中断或者站点不能启动这些错误都会在系统日志中记录一个错误事件。不论IIS出现何种错
- 1、准备基本的chroot环境在进入chroot环境之前要先准备好相应的设置,在本例中我们打算将ftpd chroot到/var/chroo
- 内容摘要:Google AdSesne一直在努力寻找、测试新的广告方式,就像上次Simon发现AFC广告组中有连结组的新Googl
- 今天发现服务器上Tomcat 8080端口起不来,老提示端口已经被占用。使用命令:ps -aux | grep tomcat发现并没有808
- 执着就是做网站要不怕困难,坚持到底。网站发展过程中可能遇到资金紧张、对手竞争、黑客攻击等各种各样的困难。但我相信,有一种执着的精神,有不畏艰
- Kafka(http://kafka.apache.org/) 是由 LinkedIn 使用 Scala 编写的一个分布式消息系统,用作 L