首 页 网络编程
网页制作 图形图象 操作系统 冲浪宝典
软件教学 认证考试

网络安全 网络办公 行业资讯 评测对比
您当前位置:站长天空 -> 网络编程
使用qmailadmin实现qmail邮件账户的web管理-网管专栏,邮件服务
作者:网友供稿 点击:0
推荐
西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!可在线rar解压,自动数据恢复设置虚拟目录等.免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金
站内搜索
文章页数:[1] 
摘要:本文在“通过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

文章整理:站长天空 网址:http://www.z6688.com/
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

文章页数:[1] 


放大字体显示 缩小字体显示 打印文章 推荐给朋友
热门文章
·使用windows脚本入侵WINDOWS服务器-网管专栏,网络技术
·清除网页历史记录-ASP教程,ASP应用
·在java中利用动态编译实现eval-JSP教程,Java技巧及代码
·如何制作Asp.Net界面模板-.NET教程,Asp.Net开发
·C#实现的18位身份证格式验证算法-.NET教程,数据库应用
·如何用PHP发电子邮件(1)-PHP教程,邮件处理
·Java 中的 XML:Java 文档模型的用法-JSP教程,Java与XML
·如何更新父窗体-.NET教程,Asp.Net开发
·用Windows 2003实现软RAID-网管专栏,操作系统
·使用Magic Winmail Server轻松架设邮件服务器(五)-网管专栏,邮件服务
最新文章
·photoshop让花卉照片更加清晰嫩绿_photoshop教程
·论c#变得越来越臃肿是不可避免的_c#应用
·杜少军:行走在网络世界的奇才_站长访谈
·教你用photoshop外插滤镜做卷页效果_photoshop教程
·通过dreamweaver设计网页时组织css的建议_dreamweaver教程
·草根网站比门户网站更有前途_站长心得
·如何针对google进行网站优化_google推广
·google推“我的搜索历史”测试版 提高个性化搜索竞争力_google推广
·八大要领 做网站就这么简单2_站长心得
·关闭widnows vista偷偷共享的文件_windows vista
相关主题
  • 使用qmailadmin实现qmail邮件账户的web管理_qmail
  • 使用qmailadmin实现qmail邮件账户的web管理-网管专栏,邮件服务
  • 西部数码虚拟主机

    友情链接
    CNNIC 西部数码
    万网 自助建站
    虚拟主机 asp空间
    域名注册 域名
    域名申请 主页空间
    论坛空间 网站空间
    国际域名 虚拟空间
    空间租用 DDOS防火墙
    成都主机托管 四川主机托管
    主机租用 服务器租用
    网站目录 自助建站
    虚拟主机 网址大全
    软件下载
    自助链接
    虚拟主机资讯 特价虚拟主机
    版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
    关于我们:站长天空:专业提供最新的站长资讯、在线教程、虚拟主机权威评测、虚拟主机性能对比、网站制作教程,开发教程,站长工具。包括网页制作教程、冲浪宝典、编程参考、操作系统、软件教学、行业动态等。
    特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
    发表评论 打印  刷新     关闭