设为首页
加入收藏
帮助中心
首页 | 红盾通告 | 信息中心 | ASP技术 | 数据库 | 网页设计 | 网管专栏 | OICQ攻略 | 墨客频道 | 网站运营 |
当前位置:首页 >> 网管专栏 >> 邮件服务 >> 正文
最新信息
·JMail(4.3)中文手册
·Foxmail密码丢了如何应急
·Merak 5.94完全上手
·用Foxmail Server搭建邮件…
·WebEasyMail 问题解答大全
·VisNetic MailServer 常见…
·James安装使用简易指南
·Winmail和垃圾邮件过滤
·Winmail和邮件监控
·用Windows 2003配置邮件服…
资料搜索
热点信息
·Winmail和垃圾邮件过滤
·James安装使用简易指南
·WebEasyMail 问题解答大全
·如何解决OUTLOOK2002无法访…
·用Windows 2003配置邮件服…
·Merak 5.94完全上手
·邮件乱码产生的原因与解决…
·Foxmail密码丢了如何应急
·Winmail和邮件监控
·VisNetic MailServer 常见…
推荐信息
·用Cdonts实现发送Email
·基于QMail的完整WEBMAIL解…
·Sendmail的安全解决方案
·Foxmail密码丢了如何应急
·James安装使用简易指南
·Exchange2000系统建设及规…
·sendmail大全
·神奇梦"邮"-DreamMail技巧…
·自己电脑做SMTP服务器不求…
·Jmail的主要参数列表


Google
 
使用qmailadmin实现qmail邮件账户的web管理
〖编辑:Cloudy | 浏览:人次〗

摘要:本文在“通过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-<user>文件被用来完成邮件
转发、别名或调用其他程序如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

&ideal@btamail.net.cn

 

其中|表示调用一个程序来处理该邮件这里是调用autorespond来处理;10000表示允许处理信
件的总时间;5表示在这段时间内的最大邮件数;/home/vpopmail/domains/domain.com.cn/AU

TORESPONGDING/message指示自动回复的邮件内容的消息文件;
/home/vpopmail/domains/domain.com.cn/AUTORESPONGDING指定log文件位置。其中
&ideal@btamail.nte.cn表示同时将邮件转发给&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


录入时间:2006-05-08 21:39:37 [打印本页] [关闭窗口] [返回顶部]
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

Copyright © 2006-2014 0733168.Com Inc All Rights Reserved
关于我们 | 广告合作 | 联系我们 | 法律声明 | 友情链接 | 意见反馈
本站所收录信息、社区话题、及本站所做之广告均属其个人行为,与本站立场无关
湘ICP备06008436号