邮件管理篇VmailMgr

发表于:2007-07-04来源:作者:点击数: 标签:
VmailMgr介绍 VmailMgr全称是Virtual Mail ManaGeR(虚拟邮件管理器),是专门配合Qmail的一个软件包,利用它可以实现以下功能: * 增强Qmail的口令验证功能,使用户可以通过POP3及IMAP访问自己的虚拟邮箱; * 基于CDB的用户口令管理方式,尤其是在用户数量较大

  VmailMgr介绍
  
    VmailMgr全称是Virtual Mail ManaGeR(虚拟邮件管理器),是专门配合Qmail的一个软件包,利用它可以实现以下功能:
  
    * 增强Qmail的口令验证功能,使用户可以通过POP3及IMAP访问自己的虚拟邮箱;
  
    * 基于CDB的用户口令管理方式,尤其是在用户数量较大时可以大大提高口令验证速度;
  
    * 提供了丰富的工具进行虚拟域、虚拟用户及别名(Aliases)的管理;
  
    * 提供一组功能强大的CGI,可以直接通过网页进行增加用户、删除用户和修改密码等各种管理工作;
  
    * 提供一组PHP函数,可以灵活地编写PHP文件,并通过网页进行各种管理工作;
  
    * 通过后台进程确保CGI和PHP代码操作的安全
  
    VmailMgr安装
  
    最新版本的VmailMgr 可在www.Vmailmgr.org或http://em.ca/~bruceg/vmailmgr/ 下载。如果下载RPMS包,至少要下载Vmailmgr和 Vmailmgr-daemon 包。
  
    笔者推荐大家从源代码安装,其安装方法如下:
  
    (做为非root 用户)
  
    tar zxf
  
    cd
  
    ./configure
  
    make
  
    (做为root 用户)
  
    make install
  
    VmailMgr使用
  
    安装VmailMgr完成后,开始使用虚拟域之前,还有几个必要的步骤,我们以建立一个虚拟用户"me@mydomain.org"(其别名是"myself@mydomain.org"和"myname@mydomain.org")为例,一步步地进行介绍。
  
    1.首先要为这个虚拟域做域名解析。在DNS服务器上将MX记录指向邮件服务器,如果想使虚拟域可以基于IP地址正常工作,还需要在DNS服务器上做一条PTR记录,例如:如果nslookup 10.56.33.122 返回 mail.mydomain.com,那么为了使用"虚拟域",对应于IP地址的PTR是:"mail.mydomain.com:myuser"。
  
    2. 建立该虚拟域的基本用户。这个用户的UNIX登录口令也将作为进行该虚拟域的邮件系统管理超级用户口令,所有该虚拟域的虚拟用户的邮件都将保存在这个用户的目录下,所以这个目录要留有足够的空间。例如,我们建立了用户"v" 做为虚拟域的基本用户,用户目录在"/home/vmailuser"。
  
    3.告诉Qmail 识别这个虚拟域。这需要修改Qmail在"/var/qmail/control"目录下的两个设置文件: "rcpthosts"和"virtualdomains"。
  
    1)在"rcpthosts"中加入"mydomain.org"。
  
    2)在"virtualdomains"中加入"mydomain.org:v"。
  
    如果想使用"anything.mydomain.org"的形式, 可按如下修改:
  
    3)在 "rcpthosts"中加入".mydomain.org"。
  
    4)在"virtualdomains"加入".mydomain.org:v"。
  
    4.修改Qmail-popup/Qmail-
  
    POP3D的口令校验方式,使用VmailMgr 提供的"checkvpw"。具体的修改方法依赖于Qmail的安装方式。
  
    1)将Qmail-popup/Qmail-POP3D 命令行中的"checkpassword"换成"checkvpw"(Qmail-popup/Qmail-
  
    POP3D命令行可能在"/etc/.net.conf"中或者在一个"tcpserver"命令中 )。
  
    2)打入以下命令:
  
    ′echo checkvpw > /var/qmail
  
    /control/checkpassword′
  
    5. 加入虚拟用户及别名。首先以刚才创建的基本用户身份登录(如, "su - v"),然后就可以使用Vmailmgr提供的命令进行用户及别名的建立。例如下面的命令将建立一个用户me及他的两个别名myself和myname:
  
    1)执行命令:"vadduser me"(将提示要求输入口令)
  
    2)执行命令:"vaddalias me myself"
  
    3)执行命令:"vaddalias me myname"
  
    完成以上步骤后,你还需要杀掉并重新启动"Qmail-send",让它读新建的"virtualdomains"表,安装过程就完成了。可以通过下面两种方式进行使用访问:
  
    一种是以"userSEPvirtual.domain.org"形式登录,"user"是虚拟用户名;SEP分隔符,可以是"@"或者 ":"(可在"/etc/vmailmgr/"目录下设置);"virtual.domain.org"是虚拟域的域名,与 "/var/qmail/control/
  
    virtualdomains"文件中相同。
  
    第二种方式是以邮箱的内部形式访问——"baseuser-user",这里的"user"是虚拟用户名,而"baseuser"是该虚拟域的基本用户,也是该虚拟域的邮件系统管理者。
  
    例如 "/var/qmail/control/
  
    virtualdomains"含有:"mydomain.com:v"
  
    已经建立了基本用户"v",并建立了虚拟用户"me",在"/etc/vmailmgr/"中的"分隔符"变量包含"@:",那么这个虚拟用户的邮件可以用 "me@mydomain.com"、"me:mydomain.com"或者"v-me"方式访问。
  
    VmailMgr对POP3 及IMAP的支持
  
    要使Qmail的POP3支持VmailMgr的虚拟用户认证方式,需要在"/etc/qmail/control/checkpass
  
    word"文件中加入"checkvpw",并重新启动POP3D。
  
    VMailMgr支持Courier-IMAP, 但 Courier-IMAP却不能自动检测到VMailMgr。这意味着我们要做一些工作以使它们两者一起工作顺畅。
  
    *首先,你必须将′/usr/local/bin/authvmailmgr′拷贝到′/usr/
  
    lib/courier-imap/libexec/authlib/authvmailmgr′。
  
    * 然后,编辑′/usr/lib/courier
  
    -imap/etc/imapd.config′文件中的"AUTHMODULES"声明,并且添加′authvmailmgr′为第一个确认系统。
  
    VmailMgr的命令与系统配置
  
    VmailMgr的系统参数都在 "/etc/vmailmgr/"目录下以文件的形式进行设置。可进行设置的项很多,如口令的验证方法、默认邮件大小、软硬磁盘空间限额及用户目录名等。每一项对应一个设置文件,如果没有对应的文件则采用系统默认值。具体设置方法可参考VmailMgr文档中的configuration.htm。
  
    VmailMgr提供用户认证、管理,邮件管理的命令也很丰富,常用的命令见表2。其具体的使用方法可参考http://www.vmailmgr.org/docs/下的文档。
  
  
  表2 命令名称
  用途
  
  vmailmgrd
  vmailmgr 的守护进程
  
  vsetup
  建立一个虚拟域
  
  vadduser
  增加一个虚拟用户
  
  vdeluser
  删除一个虚拟用户
  
  vaddalias
  增加一个别名
  
  vdelalias
  删除一个别名
  
  vpasswd
  修改一个虚拟用户的口令
  
  vdeliver
  通过vmailmgr 投递邮件信息
  
  vauthenticate
  验证一个虚拟用户
  
  checkvpw
  为虚拟和非虚拟用户验证口令
  
  vchattr
  修改一个虚拟用户的各项属性
  

原文转自:http://www.ltesting.net