分享
 
 
 

使用qmailadmin实现qmail邮件账户的web管理

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

摘要:本文在“通过vpopmail实现qmail邮件账户的数据库管理”一文的基础上讨

论如何通过qmailadmin实现对存放在数据库中的虚拟域邮件用户账号进行web管理。通

过qmailadmin管理员可以通过web方式实现添加删除用户及修改用户密码等邮件用户的

管理,而用户可以自行修改自己的密码。

硬件环境:HP Netserver E60 128M内存 单网卡

软件环境: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.gz ezmlm-idx

前言

1、mysql安装

2、vpopmail安装过程

3、vpopmail的详细配置选项

4、Qmail和虚拟域

5、笔者安装过程

前言

在阅读了“通过vpopmail实现qmail邮件账户的数据库管理”一文以后,大家下一个关

心的问题就是如何采用web方式实现对邮件用户的管理,而避免了每次添加用户都需

要登录到邮件服务器的麻烦。Inter7开发了遵从GPL版权的qmailadmin来实现这个功能。

要使用该软件,邮件服务器的上必需运行有apache的www服务器。

1、下载必需的软件包

qmailadmin提供的功能必须在实现了虚拟域及虚拟用户的账号的web方式以后,才能进行,

如果你在服务器上还没有实现“通过vpopmail实现qmail邮件账户的数据库管理”,则请阅

读该文章,并完成了虚拟域及用户的配置以后才能开始本文的工作。要实现qmailadmin的

功能,需要下载下面新的软件包:

qmailadmin0.38.tar.gz http://www.inter7.com/qmailadmin/

autorespond-1.0.0.tar.gz http://www.vpopmail.cx/autorespond-1.0.0.tar.gz

autorespond用来支持实现邮件的自动回复,例如您的电子邮件地址为ideal@linuxaid.com.cn,

由于您最近出差,不能及时回复收到的邮件,则你可以使用该软件包实现邮件的回复,当结合

使用qmailadmin时,原理如下:

当使用web管理界面指定对某个用户(如ideal)指定邮件自动回复,则在该用户所在的域内,

创建一个文件名字为.qmail-ideal.

下面我们首先讨论qmail的邮件投递机制:

qmail的投递机制为:当接受到一个信件后,由qmail-lspawn控制邮件投递机制;它首先察看

qmail-users机制(qmail-users是一个给用户指派-assign-地址的系统),若收信人地址没

有定义在assign文件中(/var/qmail/assign参阅Life with qmail 的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@domain.com.cn的用户)。

从上面的机制中可以看到,通过qmailadmin为ideal用户创建邮件自动回复时会在用户所在的域

目录中(如:/home/vpopmail/domains/domains.com.cn中创建.qmail-ideal文件,当

.qmail-local进入assign处理以后将会首先进行标准的.qmail文件操作,所以将会根据该文件进

行邮件自动回复。现在我们看看.qmail-ideal的文件内容:

|/usr/local/bin/autorespond 10000 5 /home/vpopmail/domains/domain.com.cn/AU

TORESPONGDING/message /home/vpopmail/domains/domain.com.cn/AUTORESPONGDING

%26amp;ideal@btamail.net.cn

其中|表示调用一个程序来处理该邮件这里是调用autorespond来处理;10000表示允许处理信

件的总时间;5表示在这段时间内的最大邮件数;/home/vpopmail/domains/domain.com.cn/AU

TORESPONGDING/message指示自动回复的邮件内容的消息文件;

/home/vpopmail/domains/domain.com.cn/AUTORESPONGDING指定log文件位置。其中

%26amp;ideal@btamail.nte.cn表示同时将邮件转发给%26amp;ideal@btamail.net.cn,也可以在添加自动回

复时不指定转发。

ezmlm-0.53.tar.gz http://www.ezmlm.org/

ezmlm-0.53是一个由Dan J. 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} qmailadmin HTML 模版存放目录路径

若您的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@mail src]# tar xvfz autorespond-1.0.0.tar.gz

[root@mail src]# [root@www src]# cd autorespond-1.0.0

[root@mail autorespond-1.0.0]# gcc -Wall -o autorespond autorespond.c

[root@mail autorespond-1.0.0]# cp autorespond /usr/local/bin/

ezmlm的编译生成:

[root@mail src]# tar xvfz ezmlm-0.53.tar.gz

[root@mail src]# cd ezmlm-0.53

[root@mail ezmlm-0.53]# make

[root@mail ezmlm-0.53]# make man

[root@mail ezmlm-0.53]# make seup

qmailadmin的编译生成(这里是按照前两篇文章的缺省安装进行配置的):

1

[root@www qmailadmin-0.38]# ./configure --enable-cgibindir=/usr/local/apache/cgi

-bin/ --enable-cgipath=/cgi-bin/qmailadmin

2

[root@www qmailadmin-0.38]# make clean

3

[root@www qmailadmin-0.38]# make

在进行make这一步时,可能会出现如下的错误,

gcc -g -O2 -o qmailadmin qmailadmin.o alias.o autorespond.o forward.o mailing

list.o sysadmin.o user.o util.o auth.o template.o command.o show.o cgi.o limits.

o dotqmail.o -L/home/vpopmail/lib -lvpopmail -lnsl -lm -lcrypt

/home/vpopmail/lib/libvpopmail.a(vauth.o): In function `vauth_open':

/usr/src/vpopmail-4.9.4/vauth.c:59: undefined reference to `mysql_init'

/usr/src/vpopmail-4.9.4/vauth.c:61: undefined reference to `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@www qmailadmin-0.38]# make install-strip

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有