vpopmail 管理员手册(转载)[2]

[入库:2005年9月21日] [更新:2007年3月24日]

本文简介:

(4)--enable-apop-file=/etc/apop-secrets directory where apop secrerts are stored.
覆盖默认的apop-secrets文件的位置。

其它选项
(1)--enable-apop=y|n Enable or disable apop authentication.
通过设置这个选项为NO来禁用apop。默认为YES(pop and apop)。

(2)--enable-passwd=y|n Enable or disable /etc/passwd (or shadow) authentication.
覆盖默认的自动设置。默认的配置程序自动检测你的系统是否使用passwd 和 shadow passwords。通过设置这个选项为NO,你将禁止所有的/etc/passwd 认证。


Qmail 和 虚拟邮件域

qmail的邮件域有本地的和虚拟的两种分别。本地的邮件域是使用/etc/passwd 作为验证文件。而虚拟邮件域则以qmail的控制文档“virtualdomains”为依据。vpopmail使用qmail用户/认证文档和虚拟域文档。其中用户/认证会合并到一个user/cdb数据库内。user/cdb是一个hash数据库,用以加快匹配项的查询。如果一个项匹配到,那么qmail的发送程序将会投递邮件到在文件中定义的目录中去,并且使用预定义好的uid和gid进行投递操作的身份。Vpopmail使用这个方法来使qmail 投递程序使用单一的vpopmail用户和vchkpw组来投递所有的虚拟域的邮件。同时也使用它来直接投递邮件到/vpopmail/domains/虚拟邮件域目录中。

一旦qmail-local程序从users/assign获得信息,他会执行在目录中的标准的.qmail文件。一般来说,.qmail-文件可以用于转发,别名或者调用程序,例如ezmlm。如果没有匹配的项目,则qmail-local会查找一个.qmail-default文件。这是qmail-locals发送机制的最后一步。这个程序使用两个参数,第一个并不使用(只是为了向后兼容)。第二个参数是指定了如果一个虚拟域的用户找不到的情况下,那么该邮件默认发送到的地址。原则上,第二个参数可以是邮件应该投递到的目录,或者一个用于转发过去的邮件地址,或者字符串 “邮箱不存在”,和邮件一起退回给发送方。

一旦vdelivermail起来后,它就会使用核心的vpopmail api 来检查一个虚拟域用户。如果用户退出了,邮件将被投递到他的目录。如果vpopmail有hard quotas(默认是50M的磁盘配额),然后,用户的maildir/new邮件文件和Maildir/cur目录都会被计算。如果用户的磁盘配额使用完,邮件会被配回给发送方,并附上一个可以自定义的消息。如果新的邮件只有1K字节或者更小,那么不管配额是否使用完,仍会被投递而不受磁盘配额的限制。所以系统管理程序一直能够给用户发送消息。

转化现有用户帐户
转化程序可以把邮件账户从一种格式转化成另一种格式。转化程序可以在/etc/passwd,vpasswd文件、mysql(小规模)和mysql(大规模)之间转化。
现在大多数的vpopmail用户也许比较感兴趣怎样转化现有的域到mysql格式的域。转化整个机器的用户到mysql格式,使用以下命令:vconvert -c -s 。这将会检查~vpopmail/domains目录下的所有域,并读取每一个vpasswd 文件并且加载获得的内容到mysql的vpopmail . vpopmail表中。而vpasswd文件基于安全的原因保持不改变。Vconvert也可以同时处理多个一个或多个域。这个可以通过运行一下命令: vconvert \c \s domain1 domain2 ...来实现。

要转化所有用户(除root 和系统帐户)为mysql域格式的用户,可以运行一下命令:vconvert -e -s domain。这将会读取所有的/etc/passwd账号并用他们的密码生成mysql中的项。原来的密码既可以在/etc/passwd或者/etc/shadow。这些密码需要和vchkpw 认证程序一起工作。

Security and pop server under tcpserver
加入所有的pop邮件帐户都在虚拟域中,你通过使用tcpserver -u and -g options来指定使用vpopmail/vchkpw用户和组来运行pop服务器,以增加你的pop服务器的安全性。

命令集
Quota’s
Bouncing mail
Directory structure
Overall vpopmail directory structure
Vpopmail 拥有自己的主目录。在这个目录下有下列内容:

bin -包含所有二进制程序
lib -包含libvpopmail . a文件
include -包含C 程序的头文件
users -为了向后兼容那些在域内既有/etc/passwd也有vpopmail的用户的域
domains -保存所有的虚拟邮件域的目录

Virtual domain user directory structure
vpopmail使用一种基于一个“. dir-control”的状态文件的适应性的目录结构,而这个状态文件是自动由vpopmail的api程序“vadduser”和“vdeluser”进行管理的。对于100或者更少用户的站点,所有的用户目录都存储在虚拟域目录中。对于多于100用户的站点,这个适应性的目录结构特性就开始发挥作用。基本的思路是分拆用户的Maildir目录到多个目录和子目录中,以保证在单一的目录中永远不会多于100个用户目录。
假如你将要存储大量的用户目录,请确认你设置了你的文件系统有一个比常规的文件系统更高的inodes。 
Vpopmail会根据需要自动创建这些目录和子目录,而且通常每个目录最多设置100个用户。当一个目录达到了100个用户,它将会创建另外的目录或者子目录,同时存储新的用户到那新创建的目录中去。

在源文件目录的contrib子目录中有一个重新组织目录的程序。

Internationalization

有两种信息会插入到邮件中。两种信息都是针对需要退回的邮件。第一种是没有这个用户而第二种是用户空间使用已经超过设定的配额。站点管理员可以通过在虚拟邮件域目录里创建 一个. over-quota.msg 和 . no-user.msg文件来自定义这些信息,如果在虚拟邮件域目录中没有找到一个. over-quota.msg或者 . no-user.msg文件,那么程序将会在主要的虚拟邮件域目录中查找他们。假如在那里没有找到他们,那么默认的信息会被包含到退回的邮件内。

dot-qmail processing
所有的虚拟邮件域在~vpopmail/domains下拥有自己的目录。Qmail的 user/assign文件有每一个域的入口,并且把qmail-local投递程序指向这个目录。因此,所有的普通的 . qmail文件在每个虚拟域内工作。 .qmail文件只需要用户名来工作,譬如,对于.qmail文件运行,. qmail-joe 对应用户joe.Ezmlm使用,所以它可以运行在vpopmail下。

如果没有用户匹配到一个.qmail 文件,那么 .qmail-default文件将被使用。这个文件包含vdelivermail程序。这个程序读数据库中的认证信息(mysql 或者 vpasswd.cdb)然后把邮件投递到这个用户的目录。vdelibermal程序的最后一个参数可以是一个vpopmail /vchkpw拥有的邮件目录,所以所有的默认的邮件接收都在那里结束。或者,这个参数也可以是一个邮件地址,那么所有的默认的邮件将会转发到这个地址。最后,vdelivermail的这个最后面的参数可以是邮箱不存在的信息,这将会把所有没有找到匹配用户的邮件退会给发送者。

qmailadmin
qmailadmin提供一个web界面来管理vpopmail邮件域。从版本0.26开始,qmailadmin使用vpopmail的api。这意味着它可以管理mysql或者vpasswd.cdb认证。它允许增加pop用户,管理转发和别名,ezmlm邮件列表和自动回复。

sqwebmail
sqwebmail是一个web界面的邮件客户端。它直接读写用户的邮件目录。它可以和vpopmail vpasswd文件配合工作。我们有一个0.24版本的修订版 在 http://www.inter7.com/vpopmail上,它使用的是vpopmail的api。同时,它也支持设置用户的密码和允许用户转发他们的邮件。希望这些改变会集成到标准的发行版本中。

courier-imap
courier-imap是一个支持Maildirs 格式的IMAP服务器。它的最近的发行版本支持vpopmail的vpasswd文件。我们将会集成vpopmail的api到主要的发行版本中去。

mysql authentication

cdb authentication


vpopmail API
从版本3.4.10开始,vpopmail建立了一个libvpopmail.a库,在~vpopmail/lib/下。连接这个库到你的应用程序将提供到下面的C函数的方法。相关的 header文件在~vpopmail/include下。

int vadddomain(char *domain)

domain=the new virtual domain
# 新的虚拟邮件域;

本文关键:vpopmail 管理员手册(转载)
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top