Qmail邮件管理篇VmailMgr(1)


Qmail用过一段时间,每天要管理邮件,我就给大家介绍下Qmail邮件管理之VmailMgr,请看下文。

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

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/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/”中的“分隔符”变量包含“@:”,那么这个虚拟用户的邮件可以用 “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′为第一个确认系统。


相关内容