a 设为首页
a 加入收藏
a 联系我们
a     本站诚征友情链接!!!  [admin  2007年11月22日]         今天是
 | 网站首页 | 站长在线 | 新闻资讯 | 网页设计 | 平面设计 | 网络媒体 | 网络安全 | 服务器 | 软件下载 | 图片素材 | 在线商城 | 站长论坛 | 留言 | 繁體中文
热门搜索关键字: 模板 | 错误 | 标签 | 采集 | 数据库 | 组件 | 代码 | 特效 | 木马 | 插件 | 虚拟主机
栏目导航  
Web服务器
Ftp服务器
Mail服务器
Dns服务器
Linux服务器
其他相关
专题栏目  
· 网络架设  · 病毒安全
· 图行天下  · 音影视听
· 动易软件  · 动网软件
· 虚拟组合  · SEO技术
推荐文章  
热门文章  
图片文章  
 
您现在的位置: 中国站长在线|ITE258 >> 服务器 >> Mail服务器 >> 正文
使用QMailadmin实现QMail邮件账户的Web管理
文章来源:不详 点击数: 更新时间:2007-7-4 【字体:




  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     
    关于〖使用QMailadmin实现QMail邮件账户的Web管理〗的最新评论:
     

      摘要:本文在"通过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

      本文介绍如何采用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@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@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@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是一个由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.ite258.com 电子邮件:ite258@126.com
    点击给站长发消息!站长QQ群: 15643723
    湘ICP备07501014号
    站长:梦天 Copyright (c) 2002-2008 ite258.com. All Rights Reserved.
    本站部分资源由网友推荐,来自互联网,版权属于原版权人,如果不慎侵犯到您的权利,敬请告知,我们会在第一时间撤除。
    本站中各网友的评论只代表其个人观点,不代表本站同意其观点。