QMAIL邮件管理篇VmailMgr

12/3/2006来源:Qmail人气:6265

对于管理员来说,当然需要一个好的工具来对邮件系统进行管理。实际上,Qmail就有个擅长管理的好伙伴——VmailMgr。

  VmailMgr介绍

  VmailMgr全称是Virtual Mail ManaGeR(虚拟邮件管理器),是专门配合Qmail的一个软件包,利用它可以实现以下功能:

  * 增强Qmail的口令验证功能,使用户可以通过POP3及IMAP访问自己的虚拟邮箱;

  * 基于CDB的用户口令管理方式,尤其是在用户数量较大时可以大大提高口令验证速度;

  * 提供了丰富的工具进行虚拟域、虚拟用户及别名(Aliases)的管理;

  * 提供一组功能强大的CGI,可以直接通过网页进行增加用户、删除用户和修改密码等各种管理工作;

  * 提供一组php函数,可以灵活地编写PHP文件,并通过网页进行各种管理工作;

  * 通过后台进程确保CGI和PHP代码操作的安全。

  VmailMgr安装

  最新版本的VmailMgr 可在www.Vmailmgr.orghttp://em.ca/~bruceg/vmailmgr/ 下载。如果下载RPMS包,至少要下载Vmailmgr和 Vmailmgr-daemon 包。

  笔者推荐大家从源代码安装,其安装方法如下:

  (做为非root 用户)

  tar zxf

  cd

  ./configure

  make

  (做为root 用户)

  make install

  VmailMgr使用

  安装VmailMgr完成后,开始使用虚拟域之前,还有几个必要的步骤,我们以建立一个虚拟用户[email protected]”(其别名是[email protected]”和[email protected]”)为例,一步步地进行介绍。

  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/inet.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/”中的“分隔符”变量包含“@:”,那么这个虚拟用户的邮件可以用 [email protected]”、“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
修改一个虚拟用户的各项属性

,